首页 > Java > java教程 > 正文

ThinkPHP中如何实现MySQL多表联查

不言
发布: 2018-09-12 16:33:03
原创
5609人浏览过
ThinkPHP中实现MySQL多表联查的方法:首先实例化模型;然后使用table()方法或join()方法进行查询即可,例如:【table('sp_user as t1, sp_dept as t2')】。

ThinkPHP中如何实现MySQL多表联查

本篇文章给大家带来的内容是关于ThinkPHP中的如何实现MySQL多表联查(图文) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

相关视频教程推荐:《mysql教程》、《PHP教程

创建两个表如图:

sp_user表:

立即学习PHP免费学习笔记(深入)”;

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_

相关推荐:

2个表如何关联查询(thinkphp)

ThinkPHP中关联查询实例,ThinkPHP关联实例

以上就是ThinkPHP中如何实现MySQL多表联查的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号