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 $_SERVER当前完整url的写法
Nov 12 PHP
使用PHP 5.0创建图形的巧妙方法
Oct 12 PHP
php xml 入门学习资料
Jan 01 PHP
解析左右值无限分类的实现算法
Jun 20 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
Dec 10 PHP
php自定义函数实现二维数组按指定key排序的方法
Sep 29 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
Mar 09 PHP
PHP中常用的魔术方法
Apr 28 PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
Sep 18 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标签云的实现代码
2012/10/10 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
微信公众平台开发实现2048游戏的方法
2015/04/15 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
popdiv
2006/07/14 Javascript
简明json介绍
2008/09/28 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
JS实现简单随机3D骰子
2019/10/24 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
python解析xml简单示例
2019/06/21 Python
Pytorch之Variable的用法
2019/12/31 Python
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
应届生.NET方向面试题
2015/05/23 面试题
《大自然的语言》教学反思
2014/04/08 职场文书
婚前财产公证书
2014/04/10 职场文书
中学教师师德承诺书
2014/05/23 职场文书
工程承包协议书范本
2014/09/29 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers