Thinkphp 关联查询 详解 简单而方便的理解关联查询
2017-05-08 12:45
417 查看
关联查询
本人使用的是thinkphp3.2.3版本由于性能问题,新版取消了自动关联查询机制,而统一使用relation方法进行关联操作,relation方法不但可以启用关联还可以控制局部关联操作,实现了关联操作一切尽在掌握之中。
所以今天讲的主要是relation函数的具体使用方法
由于一对多模型比较适合讲解,所以在这里我将用一对多模型来为大家讲解一下relation函数的具体使用方法。
给relation方法传入参数来控制要关联查询的数据表
数据关联配置如下
当relation的参数为true时
$user = new \Home\Model\RelevantModel('Student'); $data = $user->relation(true)->find(); var_dump($data);
运行结果如下
由于本人就关联了两个表 一个Subject 一个Test relation方法里的参数为true时 查询会把所有的关联表和它自己本身都查询出来
当relation的参数为数据表名时时
$user = new \Home\Model\RelevantModel('Student'); $data = $user->relation('Subject')->find(); var_dump($data);
运行结果如下
此时只有本身数据和关联表Subject的数据被查询出来,所以这里说明当relation方法的参数为数据表名时意思是查询指定关联表的内容和本身的内容
这里我想肯定会有人问如果我只是想查询关联表里的数据该怎么办呢
这其实也非常好解决 thinkphp提供了relationGet方法来帮我们完成这个需求
代码如下
$user = new \Home\Model\RelevantModel('Student'); $user->relation(true)->find(); $data = $user->relationGet("Subject"); var_dump($data);
效果如下
这样就可以完成了
关联查询的方法我就知道这么多了 如果以后学到更多 我会继续补充
感谢大家的观看 谢谢大家
相关文章推荐
- java的orm框架 mybatis 多对多 一对多关系的关联映射和查询--简单易懂,理解才是王道
- 简单的socket连接,实现服务端可以获得多个客户端连接(备份,方便以后查询)
- ThinkPHP学习笔记(八)CURD的的相关操作以及表的关联查询等
- MySQL中三种关联查询方式的简单比较
- mysql关联查询怎么在查询软件中一下就能查询到所有的关联数据,修改的时候也方便,对比数据
- ThinkPHP框架--关联查询--HAS_MANY--小demo
- 杭电1076两种代码实现,一种方便理解一种实现简单
- Mybatis实例 简单查询 事务处理 关联、集合查询 鉴别器 动态SQL及各种标签实例
- ThinkPHP+jQuery EasyUI Datagrid查询数据的简单处理
- 汇编语言理解指针(指针就是汇编的间接寻址,其实就是一个简单方便的运算指令,计算完毕直接就赋值,不是从内存中去取值后赋值)
- Thinkphp5 联合(关联)查询
- Mybatis上路_03-简单关联数据查询
- 【基础服务】简单理解DNS的递归、迭代查询 - DNS(一)
- 依赖、关联、聚合和组合及其之间区别的简单理解
- MySQL中三种关联查询方式的简单比较
- thinkphp 多表关联查询 设置多条件
- sql连接查询简单理解
- ThinkPHP查询返回简单字段数组
- thinkphp3.1多表关联查询
- 关于thinkphp中关联模型的简单使用