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 相关文章推荐
一个用于MySQL的PHP XML类
Oct 09 PHP
用PHP实现读取和编写XML DOM代码
Apr 07 PHP
PHP程序开发范例学习之表单 获取文本框的值
Aug 08 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
Oct 03 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
json的键名为数字时的调用方式(示例代码)
Nov 15 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
php文件读取方法实例分析
Jun 20 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
Yii2框架加载css和js文件的方法分析
May 25 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 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
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
PHP swfupload图片上传的实例代码
2013/09/30 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
JS常用函数使用指南
2014/11/23 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
如何提高数据访问速度
2016/12/26 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
微信小程序修改swiper默认指示器样式的实例代码
2018/07/18 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
Django中处理出错页面的方法
2015/07/15 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
Python实现扩展内置类型的方法分析
2017/10/16 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
python如何调用字典的key
2020/05/25 Python
Python几种常见算法汇总
2020/06/02 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
2020/10/15 Python
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
广告业务员岗位职责
2014/02/06 职场文书
《雪儿》教学反思
2014/04/17 职场文书
一年级评语大全
2014/04/23 职场文书
出国留学计划书
2014/04/27 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
2015年学校教务处工作总结
2015/05/11 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python