thinkphp5关联查询一对一跟多对多

最近看了七月老师的视频,感觉数据库关系跟应用讲得非常好,就拿商品主题这个模块记录下吧。

首先要看表设计关系 ,一个主题跟哪些表有关联?

表:

1. 主题表

2. 图片表

3. 商品表

第一个接口是获取主题

那么,主题需要有图片跟基本信息,一个主题只有一个图片,一对一的关系 

那么在主题模型中,需要定义关联关系

belongsTo('Image','主题图片外键','关联表主键(Image主键)');

那么一个主题点击后,又有一个头部图片,这个图片也在image表中,并且外键也在主题模型中,所以也要定义关联关系一对一

belongsTo('Image','产品头图外键','关联表主键(Image主键)');

现在利用关联查询with就可以得到每个主题的信息了

第二个接口是获取相应主题下的产品,通过主题的ID

这时候,主题跟商品之间是多对多的关联,所以要在主题模型中定义此关联关系

belongsToMany('产品表','中间表名','产品表外键','主题表主键');

产品表外键跟主题表主键都会被记录在中间表中。

最后要查询相应主题下的商品则用with查询就可以了

发布了45 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_36431166/article/details/86553843