ThinkPHP多表联合查询的常用方法


Posted in PHP onMarch 24, 2020

ThinkPHP中关联查询(即多表联合查询)可以使用 table() 方法或和join方法,具体使用如下例所示:

1、原生查询示例:

$Model = new Model();
$sql = 'select a.id,a.title,b.content from think_test1 as a, think_test2 as b where a.id=b.id '.$map.' order by a.id '.$sort.' limit '.$p->firstRow.','.$p->listRows;
$voList = $Model->query($sql);

2、join()方法示例:

$user = new Model('user');
$list = $user->join('RIGHT JOIN user_profile ON user_stats.id = user_profile.typeid' );

Thinkphp使用join联表查询的方法

$user = M('user');
$b_user = M('b_user');
$c_user = M('c_user');
$list = $user->alias('user')->where('user.user_type=1')
  ->join('b_user as b on b.b_userid = user.user_id')
  ->join('c_user as c on c.c_userid = b.b_userid')
  ->order('b.user_time')
  ->select();

$user 表的 user_id 等于$b_user表的b_userid;

$c_user表的 c_userid 等于$b_user表的b_userid;

3、table()方法示例:

$list = $user->table('user_status stats, user_profile profile')->where('stats.id = profile.typeid')->field('stats.id as id, stats.display as display, profile.title as title,profile.content as content')->order('stats.id desc' )->select();

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
初学者入门:细述PHP4的核心Zend
Sep 05 PHP
php+AJAX传送中文会导致乱码的问题的解决方法
Sep 08 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Apr 17 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
Sep 30 PHP
php设计模式之单例、多例设计模式的应用分析
Jun 30 PHP
php实现文件下载简单示例(代码实现文件下载)
Mar 10 PHP
PHP使用CURL获取302跳转后的地址实例
May 04 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
Feb 26 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
php 多文件上传的实现实例
Oct 23 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
Jun 25 #PHP
ThinkPHP查询中的魔术方法简述
Jun 25 #PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 #PHP
Zend Framework页面缓存实例
Jun 25 #PHP
非常好用的Zend Framework分页类
Jun 25 #PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 #PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 #PHP
You might like
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
javascript包装对象实例分析
2015/03/27 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
js实现限定区域范围拖拉拽效果
2020/11/20 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[45:16]完美世界DOTA2联赛循环赛 IO vs FTD BO2第二场 11.05
2020/11/06 DOTA
Python numpy 常用函数总结
2017/12/07 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
什么是python的函数体
2020/06/19 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
python飞机大战游戏实例讲解
2020/12/04 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
第二课堂活动总结
2014/05/07 职场文书
简爱读书笔记
2015/06/26 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
基于Redission的分布式锁实战
2022/08/14 Redis