现有两个属性:【颜色】【尺码】
那么对应的数据表数据为:
specs_name(规格名称表)
id | name |
---|---|
1 | 颜色 |
2 | 尺码 |
【颜色】属性有两个属性值:【红色】,【白色】
【尺码】属性有两个属性值:【M】,【L】
那到对应的数据表数据为:
specs_values(规格值表)
id | specs_name_id | value |
---|---|---|
1 | 1 | 红色 |
2 | 1 | 白色 |
3 | 2 | M |
4 | 2 | L |
现在准备新建一个商品叫做【上衣】<br>
它有【颜色】,【尺码】这两种属性<br>
并且【颜色】有【红】【白】两种属性值<br>
【尺码】有【M】【L两种属性值<br>
那么对应的数据表数据为:<br>
goods(商品表)
id | name |
---|---|
10000 | 上衣 |
goods_sku_specs 商品与属性及属性值的关联表
goods_id | specs_name_id | specs_value_id | note |
---|---|---|---|
1 | 1 (颜色) | 1 (红色) | 备注:颜色-红色 |
2 | 1 (颜色) | 2 (白色) | 备注:颜色-白色 |
3 | 2 (尺码) | 3 (M) | 备注:尺码-M |
4 | 2(尺码) | 4 (L) | 备注:尺码-L |
属性的各种组合,构成了商品SKU
【红色 M】【红色 L】【白色 M】【白色 L】四种组合
对应的数据表数据为:
goods_sku(商品SKU)
id | goods_id | goods_specs | goods_specs_str |
---|---|---|---|
1 | 1 | 1:1,2:3 | |
1 | 1 | 1:1,2:4 | |
1 | 1 | 1:2,2:4 | |
1 | 1 | 1:2,2:3 | |
1 | 1 | 1:2,2:4 |
goods_specs 的数据结构:
第一种结构:颜色:红色,尺码:M
[{
"specs_name_id": "1",
"name": "颜色:,
"specs_value_id": "1",
"value": "红色"
}, {
"specs_name_id": "2",
"name": "尺码",
"specs_value_id": "3",
"value": "M"
}]
第二种结构:颜色:红色,尺码:L
[{
"specs_name_id": "1",
"name": "颜色:,
"specs_value_id": "1",
"value": "红色"
}, {
"specs_name_id": "2",
"name": "尺码",
"specs_value_id": "4",
"value": "L"
}]
第三种结构:颜色:白色,尺码:M
[{
"specs_name_id": "1",
"name": "颜色:,
"specs_value_id": "2",
"value": "红色"
}, {
"specs_name_id": "2",
"name": "尺码",
"specs_value_id": "3",
"value": "M"
}]
第四种结构:颜色:白色,尺码:L
[{
"specs_name_id": "1",
"name": "颜色:,
"specs_value_id": "2",
"value": "白色"
}, {
"specs_name_id": "2",
"name": "尺码",
"specs_value_id": "4",
"value": "L"
}]
对应的数据表结构
商品模块.png
网友评论