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 相关文章推荐
ajax+php打造进度条 readyState各状态
Mar 20 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 PHP
实现PHP+Mysql无限分类的方法汇总
Mar 02 PHP
php处理json格式数据经典案例总结
May 19 PHP
Zend Framework入门教程之Zend_Config组件用法详解
Dec 09 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
Feb 04 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
Laravel中GraphQL接口请求频率实战记录
Sep 01 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 fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
PHP 线程安全与非线程安全版本的区别深入解析
2013/08/06 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
php文件压缩之PHPZip类用法实例
2015/06/18 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
JQuery toggle使用分析
2009/11/16 Javascript
JQuery的Validation插件中Remote验证的中文问题
2010/07/26 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
详解Vue项目中实现锚点定位
2019/04/24 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
小程序实现短信登录倒计时
2019/07/12 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
2020/12/20 Javascript
Python程序中设置HTTP代理
2016/11/06 Python
Python切片操作深入详解
2018/07/27 Python
python安装twisted的问题解析
2018/08/21 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
python判断元素是否存在的实例方法
2020/09/24 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
高中自我鉴定
2013/12/20 职场文书
卖车协议书范例
2014/09/16 职场文书
2015年数学教研工作总结
2015/07/22 职场文书
户外拓展训练感想
2015/08/07 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB