ThinkPHP中如何实现MySQL多表联查
程序员文章站
2022-04-05 18:24:41
...
ThinkPHP中实现MySQL多表联查的方法:首先实例化模型;然后使用table()方法或join()方法进行查询即可,例如:【table('sp_user as t1, sp_dept as t2')】。
本篇文章给大家带来的内容是关于ThinkPHP中的如何实现MySQL多表联查(图文) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
创建两个表如图:
sp_user表:
sp_dept表:
目的:通过sp_user的dept_id查询所属部门即sp_dept中的name。
原生sq方法一:
select t1.*,t2.name as deptname from sp_user as t1,sp_dept as t2 where t1.dept_id = t2.id;
原生sq方法二:
select t1.*,t2.name as deptname from sp_user as t1 left join sp_dept as t2 on t1.dept_id = t2.id;
结果相同:
对应ThinkPHP中,则也有两种方法table和join如下:
//多表联查(table) public function test18() { //实例化模型 $model = M(); //查询 $result =$model->field('t1.*, t2.name as deptname')->table('sp_user as t1, sp_dept as t2') ->where('t1.dept_id = t2.id')->select(); dump($result); } //多表联查(join) public function test19() { //实例化模型 $model = M('User'); //查询 $result = $model->field('t1.*, t2.name as deptname')->alias('t1') ->join('left join sp_dept as t2 on t1.dept_id = t2.id')->select(); dump($result); }
测试结果相同:
综上:ThinkPHP进行多表联查可通过table方法和join方法分别实现,测试环境ThinkPHP3.2.3,表前缀sp_
相关推荐:
以上就是ThinkPHP中如何实现MySQL多表联查的详细内容,更多请关注其它相关文章!
上一篇: python中的elif是什么意思
推荐阅读
-
thinkphp中的多表关联查询的实例详解
-
mysql开发中如何进行行列转换?使用序列化表的方法实现行转列
-
MySQL多表联查之ThinkPHP中的实现
-
如何实现MySQL中的用户管理
-
MySQL中如何实现Top N及M至N段的记录查询?_MySQL
-
asp.net mvc4 如何向mysql 中实现 增删改查操作
-
mysql中如何实现 row_number分组求topN的功能
-
如何在SQL Server中实现 Limit m,n 的功能_MySQL
-
如何在SQL Server中实现 Limit m,n 的功能_MySQL
-
Thinkphp中如何表达MYSQL中的某字段不为空is not null