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 相关文章推荐
require(),include(),require_once()和include_once()的异同
Jan 02 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
解析PHP无限级分类方法及代码
Jun 21 PHP
浅析php学习的路线图
Jul 10 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
ThinkPHP 404页面的设置方法
Jan 14 PHP
PHP图像处理类库及演示分享
May 17 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
Jun 24 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
PHP转换文本框内容为HTML格式的方法
Jul 20 PHP
ThinkPHP删除栏目(实现批量删除栏目)
Jun 21 PHP
PHP 进度条函数的简单实例
Sep 19 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入门学习的几个不错的实例代码
2008/07/13 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
php分页查询的简单实现代码
2017/03/14 PHP
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
2009/08/04 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
使用script的src实现跨域和类似ajax效果
2014/11/10 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
jQuery中:selected选择器用法实例
2015/01/04 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
使用Python中的cookielib模拟登录网站
2015/04/09 Python
Python3实现从指定路径查找文件的方法
2015/05/22 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
python使用fork实现守护进程的方法
2017/11/16 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
Python异常处理例题整理
2019/07/07 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
2019/08/21 Python
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
迪奥官网:Dior.com
2018/12/04 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
枚举与#define宏的区别
2014/04/30 面试题
应届生求职信写作技巧
2013/10/24 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
先进班集体事迹材料
2014/12/25 职场文书
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电
十个Python自动化常用操作,即拿即用
2021/05/10 Python
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS