求助,跪求!! PHP 发布多规格商品的的思路,以及数据表的设计,小弟商品发布快折腾一个星期了。。。头大。。。

2018-09-01 19:55:39 +08:00
 chaodada

思路越来越乱了,今下午又想到了以下办法,最后又觉得行不通,求大佬们给个数据的设计方案 以及发布思路、。。。。这是今下午想到的新思路,还是行不通。。。 /***************************************/ 商品分类 跟品牌 一对多关系

比如 手机分类 包括 1 三星 2 苹果 3 小米 ....

数据库字段 (品牌主表)

品牌 id 品牌名称 品牌图片 品牌简介

(商品分类关联品牌表)

自增 id 商品分类 id 品牌 id /***************************************/ 商品类型 跟商品规格 一对多关系

比如 手机类型 对应规格 1 "颜色":["红色","绿色","黄色","蓝色"] 2 "内存":["16","32","64","128"]

数据库字段 (商品类型表)

商品类型 id 类型名称

(商品规格表)

规格 id 规格名称 规格值 商品类型 id /***************************************/ (商品主表 ) 存储以下字段

商品 id 商品名 商品介绍 商品主图路径 相册图路径 商品分类 id 商品类型 id 品牌 id 富文本内容 ...

(商品附属表 ) 存储以下字段

自增 id 所属商品 id sku 插件熏染的 json |||||(备注)同一商品 可能存储 多条不同规格的 json

/***************************************/ 此处为演示 主表: 商品 id 商品名 商品介绍 商品主图路径 相册图路径 商品分类 id 商品类型 id 品牌 id 富文本内容 ...
1 苹果 6s XXXXXXXX XXXXXXXX XXXXXXXX 18 18 18 XXXXXXXXXXXXXX 附属表: 自增 id 所属商品 id sku 插件熏染的 json 1 1 {颜色: "红色", 内存: "16", 版本: "国行", 库存: "100", …} 2 1 {颜色: "银色", 内存: "32", 版本: "国行", 库存: "110", …}

前端可以进行链表查询 /***************************************/ 发布商品 逻辑

1~选定商品分类

2~根据分类 查询出分类下的品牌 然后选定品牌

3~选择商品类型 ajax 查询出该类型下边的所有规格 并组合成以下 类型

{ "颜色":["红色","绿色","黄色","蓝色"], "内存":["16","32","64","128"] };

配合 sku 插件 进行渲染

主表入库 获取到商品 id 然后附加表遍历入库

这是下午想出来的新想法,跟朋友讨论好久 ,还是行不通,求教 我是用 thinkphp5.1 做的。。

3581 次点击
所在节点    PHP
5 条回复
Z1076
2018-09-02 09:51:52 +08:00
不熟的话参考下 Shopnc 的设计
ivencooli
2018-09-02 09:59:19 +08:00
ecshop 了解一下
hellocat666
2018-09-02 12:09:02 +08:00
你描述的不够清楚,但是商品属性大概就几个做法,供你参考
1.雪花表。有多少种商品分类,就有 N + 1 张表。主表存储商品必备信息( sku 名称),分表存储每个类型独有字段(手机有颜色、内存,鞋子有尺码、鞋宽。
当然你把所有东西都放一张表里也是一种办法。市面开源 cms 一般用这个。
2.EAV 模型。百度一下,三张表解决问题。magento,ecshop 都这个方式。
3.如果你只要展示不要筛选,搞个字段塞个 json 完事儿。

最后,lz 可以说下自己的商品量,属性量,筛选复杂度,和服务器配置。大部分场景我都建议用 elasticsearch,MySQL 你把 1 或 2 做出来了,都不好满足后续越来越复杂的产品需求和性能要求,这种复杂检索本来也不是 MySQL 可以应付的。magento 慢出了名,ecshop 属性量大了也是慢。
vibbow
2018-09-02 14:15:35 +08:00
iwebshop 了解一下
ershisi
2018-10-26 20:31:19 +08:00
这都有现成的了 去看下 zencart magento 等等就 ok 了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/485248

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX