我知道问这样的问题可能很奇怪,但我很高兴听到您对此案的编辑和建议。
比方说,我有一个名为产品和属性的表,其中诸如color,size,volume和...之类的内容存储在属性表中。 我很难存储产品的属性,例如T恤,它具有蓝色,绿色和大大小小。
我已经尝试过的方法是在产品表中使用JSON,如下所示:
{color : 'red' , size : 'large' , available : 1} , {color : 'red' , size : 'small' , available : 0 } , {color :blue : size : Medium , available : 1}
,...
但这看起来不太好,因为属性将具有很多属性,并且JSON变得太大 任何建议都将受到欢迎
P.S。我正在使用laravel开发我的应用程序。
答案 0 :(得分:0)
JSON不会变得“太大”。
具有一个包含 some 字段作为常规列的表,以及所有其他杂项的JSON字段。
可以使用常规列来简化搜索。根据典型搜索选择哪些列。使用MySQL来搜索它们,然后使用JSON测试(如果您有足够新的MySQL,或者使用客户端代码来深入研究JSON来完成过滤。
您的样本JSON代表3种不同的产品,而不是一种。作为一个单独的步骤(可能还有另一个表格),您可以将这3个“产品”归类为“ T恤”。显然,Tshirt(等等)将在其自己的列中,而不必在JSON中。
答案 1 :(得分:-2)
您需要处理数据库关系才能完成此任务。
创建一个表“大小”
| id |名称||
+ ---- + ----------- +
| 1 |大||
| 2 |小||
| 3 |中等||
创建一个表格“颜色”
| id |名称||
+ ---- + ---------- +
| 1 |红色||
| 2 |绿色||
| 3 |蓝色||
创建一个表“产品”
| id ||名称||
+ ---- + ------------ +
| 1 | T恤||
| 2 |裤子||
| 3 |夹克||
最终创建表“库存”
| id | size_id | color_id | product_id |数量|
+ ---- + --------- + ----------- + ------------- ++ -------- + < br />
| 1 | 1 | 1 | 1 | 100 | (大号红色T恤-100件)
| 1 | 3 | 2 | 2 | 200 | (绿色中裤-200 pc)
| 1 | 2 | 3 | 3 | 150 | (小蓝夹克-150件)