Laravel 连接(Join)示例


Posted in PHP onOctober 16, 2019

内连接 ( 等值连接 )

$users = Book::join('auth','book.auth_id','auth.id')
 ->select('book.*','auth.name as auth_name')
 ->get()
 ->toArray()

转换成SQL语句 :

select `bl_book`.*, `bl_auth`.`name` as `auth_name` from `bl_book` inner join `bl_auth` on `bl_book`.`auth_id` = `bl_auth`.`id`

左连接

如果你想使用左连接 而不是 内连接 可以使用 left join 用法与join 一样

$users = Book::leftJoin('auth','book.auth_id','auth.id')
 ->select('book.*','auth.name as auth_name')
 ->get()
 ->toArray()

交叉连接

要执行“交叉连接”可以使用 crossJoin方法,传递你想要交叉连接的表名到该方法即可。交叉连接在第一张表和被连接表之间生成一个笛卡尔积:

$users = User::crossJoin('auth')
   ->get();

高级连接语句

你还可以指定更多的高级连接子句,传递一个闭包到join 方法作为第二个参数,该闭包将会接收一个JoinClause 对象用于指定 join 子句约束:

users = Book::join('auth',function ($join){
    $join->on('book.auth_id','auth.id')
     ->Where('book.id' , '>','3');
  })
  ->get()
  ->toArray();

联合(Union)

查询构建器还提供了“联合”两个查询的快捷方式,比如,你可以先创建一个查询,然后使用 union 方法将其和第二个查询进行联合:

$user_name = User::select('name'); 

$users = User::select('password')->union($user_name)->get();

注:unionAll 方法也是有效的,并且和 union 使用方式相同。

以上这篇Laravel 连接(Join)示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP4实际应用经验篇(3)
Oct 09 PHP
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
Feb 15 PHP
PHP 批量更新网页内容实现代码
Jan 05 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
Sep 28 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
May 19 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
PHP遍历目录文件的常用方法小结
Feb 03 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
php+ajax实现商品对比功能示例
Apr 13 PHP
php定期拉取数据对比方法实例
Sep 22 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 #PHP
PHP 代码简洁之道(小结)
Oct 16 #PHP
解决tp5在nginx下修改配置访问的问题
Oct 16 #PHP
Laravel6.2中用于用户登录的新密码确认流程详解
Oct 16 #PHP
PHP实现15位身份证号转18位的方法分析
Oct 16 #PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
Oct 16 #PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
Oct 16 #PHP
You might like
php 图片加水印与上传图片加水印php类
2010/05/12 PHP
基于PHP Socket配置以及实例的详细介绍
2013/06/13 PHP
php字符串分割函数用法实例
2015/03/17 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
ExtJS 简介 让你知道extjs是什么
2008/12/29 Javascript
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
prototype与__proto__区别详细介绍
2017/01/09 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
Express系列之multer上传的使用
2017/10/27 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
Python中with及contextlib的用法详解
2017/06/08 Python
python使用PyCharm进行远程开发和调试
2017/11/02 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
python梯度下降算法的实现
2020/02/24 Python
Django 再谈一谈json序列化
2020/03/16 Python
使用OpenCV对车道进行实时检测的实现示例代码
2020/06/19 Python
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
函授生自我鉴定
2014/03/25 职场文书
高中学生期末评语
2014/04/25 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
2014年个人教学工作总结
2014/12/09 职场文书
大学班干部竞选稿
2015/11/20 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
python入门之算法学习
2021/04/22 Python