【发布时间】:2017-11-02 07:22:52
【问题描述】:
我正在构建一个平台,供应商可以在其中添加产品,而店主可以将这些产品“复制”到他们的商店并出售。
供应商可以创建产品,并且可以为其添加各种属性,例如尺寸、颜色。
当商店想要使用供应商的一种产品时,他可以选择他想要提供的属性。例如,如果供应商提供 3 种尺寸的 T 恤。商店可以选择仅出售 2 种尺寸的 T 恤。
所以我有一个如下所示的 Products 表。供应商在此处添加产品。
+----+-------------+-------+
| id | description | price |
+----+-------------+-------+
| 1 | T-Shirt | 10 |
| 2 | Car | 100 |
+----+-------------+-------+
我有一个产品属性表,也是由供应商填写的
+------------+-------------+------------------------------+
| product_id | description | options |
+------------+-------------+------------------------------+
| 1 | size | ["small", "medium", "large"] |
| 1 | color | ["white", "black"] |
+------------+-------------+------------------------------+
店面
当店主想要产品时。我在shop_products表中做一个记录,引用哪个Shop想要什么产品,并添加一个可选图片,如下
+---------+------------+-----------+
| shop_id | product_id | image |
+---------+------------+-----------+
| 1 | 2 | image.jpg |
| 1 | 3 | image.jpg |
+---------+------------+-----------+
现在剩下的唯一问题是:我如何确保商店可以选择他想要的属性。
- 我应该创建一个 shop_product_attributes 表吗?但我不能在多对多上建立关系,因为它没有 id?
【问题讨论】:
-
您是否想要它,以便商店可以限制他们使用的具有特定属性的产品?所以说T恤小黑?
-
是的!商店确实可以选择要复制的属性。谢谢!
标签: mysql database laravel database-design