tp5.1 框架join方法用法实例分析


Posted in PHP onMay 26, 2020

本文实例讲述了tp5.1 框架join方法用法。分享给大家供大家参考,具体如下:

JOIN方法用于根据两个或多个表中的列之间的关系,从这些表中查询数据。join通常有下面几种类型,不同类型的join操作会影响返回的数据结果。

  • INNER JOIN: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行

说明

join ( mixed join [, mixed $condition = null [, string $type = 'INNER']] )
leftJoin ( mixed join [, mixed $condition = null ] )
rightJoin ( mixed join [, mixed $condition = null ] )
fullJoin ( mixed join [, mixed $condition = null ] )

参数

join

要关联的(完整)表名以及别名

支持的写法:

  • 写法1:[ '完整表名或者子查询'=>'别名' ]
  • 写法2:'不带数据表前缀的表名'(自动作为别名)
  • 写法2:'不带数据表前缀的表名 别名'

condition

关联条件。可以为字符串或数组, 为数组时每一个元素都是一个关联条件。

type

关联类型。可以为:`INNER`、`LEFT`、`RIGHT`、`FULL`,不区分大小写,默认为`INNER`。

返回值

模型对象

举例

Db::table('think_artist')
->alias('a')
->join('work w','a.id = w.artist_id')
->join('card c','a.card_id = c.id')
->select();
Db::table('think_user')
->alias('a')
->join(['think_work'=>'w'],'a.id=w.artist_id')
->join(['think_card'=>'c'],'a.card_id=c.id')
->select();

默认采用INNER JOIN 方式,如果需要用其他的JOIN方式,可以改成

Db::table('think_user')
->alias('a')
->leftJoin('word w','a.id = w.artist_id')
->select();

表名也可以是一个子查询

$subsql = Db::table('think_work')
->where('status',1)
->field('artist_id,count(id) count')
->group('artist_id')
->buildSql();
 
Db::table('think_user')
->alias('a')
->join([$subsql=> 'w'], 'a.artist_id = w.artist_id')
->select();

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php+mysql分页代码详解
Mar 27 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
Window下PHP三种运行方式图文详解
Jun 11 PHP
php 生成自动创建文件夹并上传文件的示例代码
Mar 07 PHP
PHP中的Memcache详解
Apr 05 PHP
thinkPHP导出csv文件及用表格输出excel的方法
Dec 30 PHP
thinkphp3.x中display方法及show方法的用法实例
May 19 PHP
PHP Header用于页面跳转时的几个注意事项
Oct 21 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
Nov 28 PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 PHP
tp5.1框架数据库子查询操作实例分析
May 26 #PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 #PHP
Laravel 修改验证异常的响应格式实例代码详解
May 25 #PHP
tp5.1 框架查询表达式用法详解
May 25 #PHP
tp5.1 框架数据库高级查询技巧实例总结
May 25 #PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 #PHP
thinkphp5.1框架模板赋值与变量输出示例
May 25 #PHP
You might like
php使用反射插入对象示例分享
2014/03/11 PHP
PHP 正则表达式小结
2015/02/12 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
php+croppic.js实现剪切上传图片功能
2018/08/14 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
js控制框架刷新
2008/08/01 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
如何使用Jquery获取Form表单中被选中的radio值
2013/08/09 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
简单快速的实现js计算器功能
2017/08/17 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
公司授权委托书
2014/10/17 职场文书
劳模先进事迹材料
2014/12/24 职场文书
2015年医生个人工作总结
2015/04/25 职场文书
四群教育工作总结
2015/08/10 职场文书
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记