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异常Parse error: syntax error, unexpected T_VAR错误解决方法
May 06 PHP
php结合ajax实现赞、顶、踩功能实例
May 12 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
PHP的pcntl多进程用法实例
Mar 19 PHP
php通过前序遍历树实现无需递归的无限极分类
Jul 10 PHP
php实现简单的上传进度条
Nov 17 PHP
PHP树-不需要递归的实现方法
Jun 21 PHP
nginx下安装php7+php5
Jul 31 PHP
php分页查询mysql结果的base64处理方法示例
May 18 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
什么是PHP7中的孤儿进程与僵尸进程
Apr 14 PHP
php生成短网址/短链接原理和用法实例分析
May 29 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新手上路(六)
2006/10/09 PHP
为PHP初学者的8点有效建议
2010/11/20 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
PHP多文件上传类实例
2015/03/07 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
2015/08/19 Javascript
深入理解JavaScript函数参数(推荐)
2016/07/26 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
python合并同类型excel表格的方法
2018/04/01 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
客户代表自我评价范例
2013/09/24 职场文书
护士自荐信范文
2013/12/15 职场文书
大学生创业计划书的范文
2014/01/07 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
后进生评语大全
2015/01/04 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
催款律师函范文
2015/05/27 职场文书
校园开放日新闻稿
2015/07/17 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python