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 相关文章推荐
IIS6的PHP最佳配置方法
Mar 19 PHP
表单复选框向PHP传输数据的代码
Nov 13 PHP
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
Sep 10 PHP
php中in_array函数用法探究
Nov 25 PHP
php计算到指定日期还有多少天的方法
Apr 14 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
Apr 17 PHP
CodeIgniter配置之database.php用法实例分析
Jan 20 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
PHP实现的MD5结合RSA签名算法实例
Oct 07 PHP
php 读写json文件及修改json的方法
Mar 07 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 文件上传进度条的两种实现方法的代码
2007/11/25 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
node.js中的fs.fsyncSync方法使用说明
2014/12/15 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
小程序指纹验证的实现代码
2018/12/04 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
Python中暂存上传图片的方法
2015/02/18 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
python os.path模块常用方法实例详解
2018/09/16 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
基于python历史天气采集的分析
2019/02/14 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
animation和transition的区别
2020/10/12 HTML / CSS
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
java程序员面试交流
2012/11/29 面试题
后备干部培训方案
2014/05/22 职场文书
2014年护士个人工作总结
2014/11/11 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
图书借阅制度范本
2015/08/06 职场文书
教师听课学习心得体会
2016/01/15 职场文书