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 相关文章推荐
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 PHP
表单复选框向PHP传输数据的代码
Nov 13 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 PHP
PHP常用的三种设计模式汇总
Aug 28 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
Nov 10 PHP
CI框架中类的自动加载问题分析
Nov 21 PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
PHP APP微信提现接口代码
Sep 30 PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 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文件类型MIME对照表(比较全)
2016/10/07 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
关于document.cookie的使用javascript
2008/04/11 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
求js数组的最大值和最小值的四种方法
2017/03/03 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
vue 组件内获取actions的response方式
2019/11/08 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
Python操作Excel之xlsx文件
2017/03/24 Python
python 字典中取值的两种方法小结
2018/08/02 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
丹麦优惠购物网站:PLUSSHOP
2019/03/24 全球购物
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
财务管理个人自荐书范文
2013/11/24 职场文书
十佳大学生事迹材料
2014/01/29 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
一年级学生期末评语
2014/04/21 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
研究生简历自我评价范文
2014/09/13 职场文书
城管个人总结
2015/02/28 职场文书
通知函的格式
2015/04/27 职场文书
奖学金申请个人主要事迹材料
2015/11/04 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书