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 相关文章推荐
第一节--面向对象编程
Nov 16 PHP
dedecms采集中可以过滤多行代码的正则表达式
Mar 17 PHP
php下将XML转换为数组
Jan 01 PHP
php 正确解码javascript中通过escape编码后的字符
Jan 28 PHP
php几个预定义变量$_SERVER用法小结
Nov 07 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
Sep 22 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
WordPress中使主题支持小工具以及添加插件启用函数
Dec 22 PHP
Yii2框架可逆加密简单实现方法
Aug 25 PHP
tp5实现微信小程序多图片上传到服务器功能
Jul 16 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
Oct 12 PHP
详解Laravel设置多态关系模型别名的方式
Oct 17 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 时间计算问题小结
2009/01/04 PHP
php笔记之:AOP的应用
2013/04/24 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
jqPlot Option配置对象详解
2009/07/25 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
如何减少浏览器的reflow和repaint
2015/02/26 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
理解javascript封装
2016/02/23 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
2018/05/03 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
Python3实现的简单验证码识别功能示例
2018/05/02 Python
python实现AES加密和解密
2019/03/27 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
解决Django连接db遇到的问题
2019/08/29 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
2020/06/09 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
在校大学生个人的自我评价
2014/02/13 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
机关党员公开承诺书
2014/08/30 职场文书
2014年预算员工作总结
2014/12/05 职场文书
Django显示可视化图表的实践
2021/05/10 Python
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP