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 中的str_replace 函数总结
Apr 27 PHP
php格式化工具Beautify PHP小小BUG
Apr 24 PHP
比file_get_contents稳定的curl_get_contents分享
Jan 11 PHP
php对数组排序代码分享
Feb 24 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
php 购物车完整实现代码
Jun 05 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
Jun 17 PHP
php写app接口并返回json数据的实例(分享)
May 20 PHP
php关联数组与索引数组及其显示方法
Mar 12 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
jQuery+PHP实现图片上传并提交功能
Jul 27 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
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
浅析JSONP技术原理及实现
2016/06/08 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
Python中字符编码简介、方法及使用建议
2015/01/08 Python
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
写好求职信第一句话的技巧
2013/10/26 职场文书
优秀信贷员先进事迹
2014/01/31 职场文书
团代会宣传工作方案
2014/05/08 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
《鲸》教学反思
2016/02/23 职场文书
vue-cropper组件实现图片切割上传
2021/05/27 Vue.js
python使用PySimpleGUI设置进度条及控件使用
2021/06/10 Python
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
Python实现照片卡通化
2021/12/06 Python
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
2023/05/08 MySQL