tp5.1 框架join方法用法实例分析
发布:smiling 来源: PHP粉丝网 添加日期:2022-03-09 09:03:20 浏览: 评论:0
本文实例讲述了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();
Tags: tp5.1 join
- 上一篇:tp5.1框架数据库子查询操作实例分析
- 下一篇:最后一页
相关文章
- ·ThinkPHP采用原生query实现关联查询left join实例(2021-05-01)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)