如何关联多规格与商品?
系统原先的商品是不区分多规格与否的,现在要增加多规格这个属性,举例手机,它就有好几种规格组合,以规格颜色与内存为例子,
多规格
颜色: 白色 黑色
容量: 32G 64G
那么对应的最多就有4种商品,不同的规格组合可以不同价格,可以不同描述图片等
白色-32G
白色-64G
黑色-32G
黑色-64G
也可能有些组合的商品是不存在的,比如卖家没有黑色-32G
的货,也就没有对应的商品itemId。
对商品来说,多规格的用途就是在商品展示页,能够展示它的兄弟商品。
现在问题是我应该如何关联商品Item与某个多规格下具体的一个规格组合,数据库如何保存比较合理?或者有更好的办法解决这种需求“多规格的用途就是在商品展示页,能够展示它的兄弟商品”?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
原理
可以参考sylius, sylius的商品设计满足你的需求。
商品本身,有两个重要的特性, 一是属性, 二是,选项。 举例子说,属性就是一个商品的参数,简单的键值对。 比如像京东的一个商品的参数部分。 选项的意义就不同了,按照你的例子, 这个商品会有两个选项, 一个叫颜色, 包括, 白色, 黑色,另外一个选项叫内存大小,有32G,64G两个值。 两个选项的任意一个值组合起来决定商品的价格,在sylius中,这就叫商品变体。 建议研究一下sylius的商品的表结构设计。
选项的表结构
sylius的选项采取的是单独的表存放选项的值,再将变体与值以多对多的关系关联起来。
我的思路如下:
不同的规格对应的其实是不同的物品,例如你32G的IPhone和64G的IPhone,对应的编码是不一致的。这个你平常可以关注下不同规格的包装,对应的编码都是不一样的。试下下如果使用的编码一致,那样仓库是极容易发错货的。
上面的编码一般术语是SKU(stock keeping unit),一般中文叫货号。
所以针对商品最小的粒度应该是产品(只是一种描述而已),然后一个商品包含多个相关联的产品,商品可以维护这些产品的一致数据(参数,规格,详情等,也有按产品维度单独维护的)。
一般有一张goods表,用于表示商城中的商品,product表对应同一商品的不同产品,规格应该更合适的称为品项,因为是有多个维度的,比如IPhone,可以通过颜色 + 存储等等品项值,得出对应的SKU,即product表的product_id。
上面只是我的一些看法,有问题随时欢迎提出改进。