最近看了七月老师的视频,感觉数据库关系跟应用讲得非常好,就拿商品主题这个模块记录下吧。
首先要看表设计关系 ,一个主题跟哪些表有关联?
表:
1. 主题表
2. 图片表
3. 商品表
第一个接口是获取主题
那么,主题需要有图片跟基本信息,一个主题只有一个图片,一对一的关系
那么在主题模型中,需要定义关联关系
belongsTo('Image','主题图片外键','关联表主键(Image主键)');
那么一个主题点击后,又有一个头部图片,这个图片也在image表中,并且外键也在主题模型中,所以也要定义关联关系一对一
belongsTo('Image','产品头图外键','关联表主键(Image主键)');
现在利用关联查询with就可以得到每个主题的信息了
第二个接口是获取相应主题下的产品,通过主题的ID
这时候,主题跟商品之间是多对多的关联,所以要在主题模型中定义此关联关系
belongsToMany('产品表','中间表名','产品表外键','主题表主键');
产品表外键跟主题表主键都会被记录在中间表中。
最后要查询相应主题下的商品则用with查询就可以了