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中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 PHP
php用正则表达式匹配URL的简单方法
Nov 12 PHP
YII实现分页的方法
Jul 09 PHP
wamp安装后自定义配置的方法
Aug 23 PHP
php单例模式示例分享
Feb 12 PHP
php实现约瑟夫问题的方法小结
Mar 23 PHP
thinkphp跨库操作的简单代码实例
Sep 22 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
PHP session垃圾回收机制实例分析
Jun 28 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 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正则表达式获取内容所有链接
2015/07/24 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
2019/07/26 PHP
php探针不显示内存解决方法
2019/09/17 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
[48:11]完美世界DOTA2联赛 Magma vs GXR 第二场 11.07
2020/11/10 DOTA
如何搜索查找并解决Django相关的问题
2014/06/30 Python
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
深入了解python列表(LIST)
2020/06/08 Python
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
军训感想500字
2014/02/20 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
解除劳动合同协议书范本
2014/09/13 职场文书
2014小学语文教师个人工作总结
2014/12/03 职场文书
2016年小学教师师德承诺书
2016/03/25 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
python not运算符的实例用法
2021/06/30 Python
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL