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 相关文章推荐
php4的session功能评述(二)
Oct 09 PHP
PHP中对数据库操作的封装
Oct 09 PHP
php 正则 过滤html 的超链接
Jun 02 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
Jan 29 PHP
CI框架中cookie的操作方法分析
Dec 12 PHP
详解php的socket通信
Aug 11 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
Apr 11 PHP
php 修改上传文件大小限制实例详解
Oct 23 PHP
php.ini中date.timezone设置详解
Nov 20 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
Aug 11 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 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 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
node.js express安装及示例网站搭建方法(分享)
2016/08/22 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
vue axios封装及API统一管理的方法
2019/04/18 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
[50:21]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/19 DOTA
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
python 借助numpy保存数据为csv格式的实现方法
2018/07/04 Python
对python 命令的-u参数详解
2018/12/03 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
python利用platform模块获取系统信息
2020/10/09 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
家庭户外服装:Hawkshead
2017/11/02 全球购物
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
生物制药专业求职信
2014/03/11 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript