V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chaodada
V2EX  ›  PHP

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

  •  
  •   chaodada · 2018-09-01 19:55:39 +08:00 · 3603 次点击
    这是一个创建于 2305 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    比如 手机分类 包括 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 做的。。

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

    最后,lz 可以说下自己的商品量,属性量,筛选复杂度,和服务器配置。大部分场景我都建议用 elasticsearch,MySQL 你把 1 或 2 做出来了,都不好满足后续越来越复杂的产品需求和性能要求,这种复杂检索本来也不是 MySQL 可以应付的。magento 慢出了名,ecshop 属性量大了也是慢。
    vibbow
        4
    vibbow  
       2018-09-02 14:15:35 +08:00
    iwebshop 了解一下
    ershisi
        5
    ershisi  
       2018-10-26 20:31:19 +08:00
    这都有现成的了 去看下 zencart magento 等等就 ok 了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:24 · PVG 05:24 · LAX 13:24 · JFK 16:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.