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 相关文章推荐
真正面向对象编程:PHP5.01发布
Oct 09 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
PHP中3种生成XML文件方法的速度效率比较
Oct 06 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 PHP
php绘制一条弧线的方法
Jan 24 PHP
PHP在线调试执行的实现方法(附demo源码)
Apr 28 PHP
smarty的section嵌套循环用法示例
May 28 PHP
php实现websocket实时消息推送
Mar 30 PHP
php微信开发之图片回复功能
Jun 14 PHP
php实现有序数组旋转后寻找最小值方法
Sep 27 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 PHP
PHP array_reverse() 函数原理及实例解析
Jul 14 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
AM/FM收音机的安装与调试
2021/03/02 无线电
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
destoon复制新模块的方法
2014/06/21 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
input按钮的事件处理大全
2010/12/10 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
超赞的动手创建JavaScript框架的详细教程
2015/06/30 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
python实现爬虫下载漫画示例
2014/02/16 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
用Python制作音乐海报
2021/01/26 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
HTML5 input元素类型:email及url介绍
2013/08/13 HTML / CSS
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
若干个Java基础面试题
2015/05/19 面试题
教师辞职报告范文
2014/01/20 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
办公室个人总结
2015/02/28 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
Pytorch可视化的几种实现方法
2021/06/10 Python
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL