【TP5.1】关联与载入 多表连查

author:咔咔

wechat:fangkangfk

 

总结:

关联预载入的实现

1.创建需要关联的模型

2.在模型里写上对应关系

    第一个参数是需要关联的模型

    第二个参数是关联模型的主键

    第三个参数是本表的关联字段

3.创建一个服务,并将查询关系写出来,也就是下面这段代码

【TP5.1】关联与载入 多表连查_第1张图片

这段代码,是从user表开始查询,userRole和UserGroup都是在模型创建出来的方法

还有就是这个闭包方法的参数,这个参数是自定义的,但是需要和在继续关联的名字一样

 

还有一点就是加入我们需要设置只需要查找我们需要的字段可以写成下面的这种

【TP5.1】关联与载入 多表连查_第2张图片

 

 

 

首先看三张表

user表

【TP5.1】关联与载入 多表连查_第3张图片

 user_role表

【TP5.1】关联与载入 多表连查_第4张图片

user_group表

 【TP5.1】关联与载入 多表连查_第5张图片

 

创建模型

user模型

【TP5.1】关联与载入 多表连查_第6张图片 

userrole模型

【TP5.1】关联与载入 多表连查_第7张图片

userGroup模型

【TP5.1】关联与载入 多表连查_第8张图片 

 

三个模型创建好,里边的hasOne方法,不知道的可以看一对一那篇文章

 

下来创建一个测试服务

【TP5.1】关联与载入 多表连查_第9张图片 创建服务,关联预加载

 

在app下创建一个index控制器,用来测试

【TP5.1】关联与载入 多表连查_第10张图片 

打印数据:这样三表连查就完成了

【TP5.1】关联与载入 多表连查_第11张图片 

你可能感兴趣的:(thinkPHP)