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 相关文章推荐
adodb与adodb_lite之比较
Dec 31 PHP
Ajax+PHP边学边练 之五 图片处理
Dec 03 PHP
PHP中call_user_func_array()函数的用法演示
Feb 05 PHP
php中3des加密代码(完全与.net中的兼容)
Aug 02 PHP
php连接oracle数据库及查询数据的方法
Dec 29 PHP
帝国cms目录结构分享
Jul 06 PHP
php如何获取文件的扩展名
Oct 28 PHP
浅谈PHP中foreach/in_array的使用
Nov 02 PHP
yii2中添加验证码的实现方法
Jan 09 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 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
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
PHP sprintf()函数用例解析
2011/05/18 PHP
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
js 鼠标移动显示图片的简单实例
2013/12/25 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
js只执行1次的函数示例
2016/07/20 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
2016/12/12 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
python实现逆波兰计算表达式实例详解
2015/05/06 Python
Python映射拆分操作符用法实例
2015/05/19 Python
Python脚本实时处理log文件的方法
2016/11/21 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
matplotlib给子图添加图例的方法
2018/08/03 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
python通过链接抓取网站详解
2019/11/20 Python
PyQt5 控件字体样式等设置的实现
2020/05/13 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
eBay美国官网:eBay.com
2020/10/24 全球购物
财务会计实习报告体会
2013/12/20 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
聘用意向书范本
2014/04/01 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
安徽导游词
2015/02/12 职场文书
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript