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 相关文章推荐
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
php Smarty date_format [格式化时间日期]
Mar 15 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
eaglephp使用微信api接口开发微信框架
Jan 09 PHP
ThinkPHP3.1新特性之内容解析输出详解
Jun 19 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
Oct 22 PHP
php计算年龄精准到年月日
Nov 17 PHP
PHP微信开发之查询微信精选文章
Jun 23 PHP
php监测数据是否成功插入到Mysql数据库的方法
Nov 25 PHP
php 如何禁用eval() 函数实例详解
Dec 01 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
laravel使用Faker数据填充的实现方法
Apr 12 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
thinkPHP实现表单自动验证
2014/12/24 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
JavaScript 原型学习总结
2010/10/29 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
使用js实现数据格式化
2014/12/03 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
详解ES6中的Map与Set集合
2019/03/22 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
Python3实现Web网页图片下载
2016/01/28 Python
python批量添加zabbix Screens的两个脚本分享
2017/01/16 Python
使用Python生成XML的方法实例
2017/03/21 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
Python pymongo模块用法示例
2018/03/31 Python
python实现学生管理系统开发
2020/07/24 Python
Python实现曲线拟合的最小二乘法
2021/02/19 Python
英国名牌服装购物网站:OD’s Designer
2019/09/02 全球购物
Android笔试题总结
2014/11/29 面试题
会计实习期自我鉴定
2013/10/06 职场文书
市场营销专科应届生求职信
2013/11/24 职场文书
超级搞笑检讨书
2014/01/15 职场文书
大学生找工作求职信
2014/07/09 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
父母教会我观后感
2015/06/17 职场文书