小言_互联网的博客

商品和商品类型表有两种储存数据的方式

359人阅读  评论(0)

说明 商品和商品类型表有两种储存数据的方式
第一种
商品表里面记录商品类型 类型1,类型2,类型3,
可通过这种方式 记录对应的类型以及直属类型的上级 上上级。。。。。
第二种通过中间表的方式 商品类型为c,a类型的上级类型为b,b类型的上级类型为c
就可以在中间表创建三调数据
商品id a类型
商品id b类型
商品id c类型
每次修改商品类型 都把中间表中关于本商品id的所有数据清空在进行添加
查询商品类型时 可以去查询中间表 再去商品表获取商品信息

员工与部门的关系也可以这样 商品对应员工 部门对应商品类型

写一个获取无限上级的方法 每次保存早中间表去获取一下
点击去查看方法

商品 商品类型 关系表
员工 部门 关系表

商品类型表

商品表 (商品属于多种类型的)

中间表
说明 主要用来记录商品直接种类 以及上级上级种类的关系
商品id 商品类型id 商品直属类型

商品表说明
华为P30 所属层级关系
通讯工具>手机
通讯工具>手机>华为
通讯工具>手机>华为>华为P系列
小米11所属层级关系
通讯工具>手机
通讯工具>手机>小米

保存在中间表的目的是为了 把直属商品的类型 以及类型的上级 上上级。。。全部保存下来
当然也可以全部保存在商品表的商品类型里面然后单独创建一个字段用来记录直接上级 这种在商品表不好处理 只局限有一种类型 多种不太好记录

查询无限上级,下级 请去查看该博客

当查询商品类型为通讯工具时 可以查出华为P30,小米11
当查询商品类型为通讯手机时 可以查出华为P30,小米11
当查询商品类型为华为时 可以查出华为P30
当查询商品类型为华为P系列时 可以查出华为P30

//第一种不通过中间表的查询方式

$aa= db('goods')
     ->where($where)
     ->where('find_in_set(8,type)')

//第二种 直接去查中间表 获取到商品id 再去获取商品信息


转载:https://blog.csdn.net/qq_37468919/article/details/114253765
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场