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 相关文章推荐
用PHP连接MySQL代码的参数说明
Jun 07 PHP
20个PHP常用类库小结
Sep 11 PHP
PHP __autoload()方法真的影响性能吗?
Mar 30 PHP
PHP开启opcache提升代码性能
Apr 26 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
Sep 23 PHP
WordPress中创建用户角色的相关PHP函数使用详解
Dec 25 PHP
php similar_text()函数的定义和用法
May 12 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
PHP simplexml_import_dom()函数讲解
Feb 03 PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 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 多任务秒级定时器的实现方法
2018/05/13 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
php实现图片压缩处理
2020/09/09 PHP
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
2012/08/24 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
了解Javascript的模块化开发
2015/03/02 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
详解Chai.js断言库API中文文档
2018/01/31 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
python对url格式解析的方法
2015/05/13 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python实现的计数排序算法示例
2017/11/29 Python
python opencv之SURF算法示例
2018/02/24 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
创建Django项目图文实例详解
2019/06/06 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
2020/05/11 Python
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
Prototype如何更新局部页面
2013/03/03 面试题
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
优秀研究生主要事迹
2014/06/03 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
浅谈python数据类型及其操作
2021/05/25 Python
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript