【发布时间】:2019-01-19 06:56:10
【问题描述】:
我知道问这种问题可能很奇怪,但我很高兴听到您对此案的编辑和建议。
假设我有名为 products 和 properties 的表,诸如 color 、 size 、 volume 和 ... 存储在 properties 表中。 我无法存储我的产品的属性,例如蓝色、绿色和大小尺寸的 T 恤。
我已经尝试过的方法是在产品表中使用 JSON,如下所示:
{color : 'red' , size : 'large' , available : 1} , {color : 'red' , size : 'small' , available : 0 } , {color :blue : size : Medium , available : 1}, ...
但这似乎不太好,因为属性会有很多属性,而且 JSON 变得太大 欢迎任何建议
附:我正在使用 laravel 开发我的应用程序。
【问题讨论】:
-
属性数量是否固定?所有产品都具有相同的属性吗?
-
@fancyPants 不,它不是固定的,产品具有不同的属性,例如产品 A 具有属性 A 和 B,而产品 B 具有属性 A 、 C 和 D
-
json 方法似乎不太可能变得“太大”——毕竟它是一种流行的方法。如果您决定改用 EAV 模型,我建议您根据值数据类型拆分属性。
-
@Strawberry 谢谢你的建议。
标签: mysql laravel database-design entity-attribute-value