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 相关文章推荐
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
php 缓存函数代码
Aug 27 PHP
php 求质素(素数) 的实现代码
Apr 12 PHP
PHP缓存技术的多种方法小结
Aug 14 PHP
Yii Framework框架获取分类下面的所有子类方法
Jun 20 PHP
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 PHP
Chrome Web App开发小结
Sep 04 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
Oct 09 PHP
开启PHP的伪静态模式
Dec 31 PHP
PHP全局变量与超级全局变量区别分析
Apr 01 PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 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
smtp邮件发送一例
2006/10/09 PHP
PHP的分页功能
2007/03/21 PHP
PHP计划任务、定时执行任务的实现代码
2011/04/23 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
ES6中的类(Class)示例详解
2020/12/09 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
2014/06/25 Python
Python注释详解
2016/06/01 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
python email smtplib模块发送邮件代码实例
2018/04/26 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Python Django 命名空间模式的实现
2019/08/09 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
sealed修饰符是干什么的
2012/10/23 面试题
个人自我鉴定范文
2013/10/04 职场文书
婚礼司仪主持词
2014/03/14 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
大足石刻导游词
2015/02/02 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android
讲解MySQL增删改操作
2022/05/06 MySQL