文档章节

illuminate database query builder

yeahlife
 yeahlife
发布于 2018/05/17 19:02
字数 209
阅读 124
收藏 0

https://laravel.com/docs/5.6/queries#joins

$couser = Company::find(1);
$couser->crossJoin('company_special_sub', function ($join) use ($couser) {
    $join->on('company.id', '=', 'company_special_sub.company_id')
        ->where('company_special_sub.status', '=', 0)
        ->where('company.id', $couser->id);
});

根据 mysql 官方文档据说,cross join / join / inner join 在mysql 是的语法结构是相同的。

https://dev.mysql.com/doc/refman/5.7/en/join.html

了解了基本的概念后,我们来分析上述 join clause。

$couser = Company::find(1);

首先我们查询出了 $cosuer(公司信息)对象。

然后通过该 对象联表查询下属公司(分部)

这里用先前查询出来的结果 $cosuer 调用 join 方法,将关联的表传递进来,然后通过闭包定义一个 $join 做为我们要在闭包语句中调用执行的对象,用 use 语法结构 将所需要的变量传递到闭包使用,剩下的就是基本的联表查询语句。

© 著作权归作者所有

yeahlife
粉丝 3
博文 107
码字总数 37935
作品 0
石家庄
程序员
私信 提问
Laravel 5 配置数据库主从读写分离和源码分析

一,配置过程: Laravel5读写分离配置比较简单,只需修改config/database.php,下面以MySQL数据库为例 内容如下 'mysql' => [ ] 设置完毕之后,Laravel5默认将select的语句让read指定的数据库...

李佳顺
2018/05/31
124
0
数据库模型dynamicWhere的使用

dynamicWhere的实现方法如下(类:Illuminate/Database/Query/Builder): 用法示例: 更多功能多看看API文档及相应源码

joyshion
2015/05/29
0
1
laravel5自定义分页

laravel5分页处理与laravel4略有区别,laravel5提供了更方便的处理方式,可以方便满足不同分页展示。 laravel4自定义分页:http://php2012web.blog.51cto.com/5585213/1539601 laravel分页处...

ttlxihuan
2016/09/26
0
0
2、深入理解 Laravel Eloquent(二)——中间操作流(Builder)

深入理解 Laravel Eloquent(二)——中间操作流(Builder) 本篇教程是该系列教材的第二篇,将主要讲述 Eloquent 中中间操作流的概念。中间操作流是我自己总结并翻译的概念,支撑该功能的类...

我爱祥子
2016/01/10
23
0
CodeIgniter 3.1.1 发布,PHP 的 MVC 框架

CodeIgniter 3.1.1 发布了,CodeIgniter 是一个简单快速的PHP MVC 框架。 改变: Added to the list of error levels detected by the shutdown handler. BUG修复: Fixed a bug (#4732) - ......

王练
2016/10/24
1K
11

没有更多内容

加载失败,请刷新页面

加载更多

不就是SELECT COUNT语句吗,竟然能被面试官虐的体无完肤

数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查。 在数据库的增删改查操作中,使用最频繁的就是查询操作。而在所有查询操作中,...

HollisChuang
31分钟前
6
0
乐观锁和悲观锁

乐观锁和悲观锁 在并发环境下,事务的隔离性很难保证,因此会出现很多并发一致性的问题 事务的特性:原子性、一致性、隔离性、持久性 1、丢失修改:T1和T2两个事务对同一个数据进行修改,T1先...

大瑞清_liurq
40分钟前
5
0
Scrum敏捷价值观与原则

Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。如果还不知道Scrum敏捷开发的朋友们,请出门左转,点击 Scrum 了解。 敏捷价值观 个体和互动 高于 流程和工具 工作的软件 高于 ...

醉美閑聖
40分钟前
5
0
android焦点

final RelativeLayout relativeLayout=new RelativeLayout(context); relativeLayout.setClickable(true); relativeLayout.setFocusable(true); rel......

安卓工程师王恒
42分钟前
4
0
IP地址分配与中继设备简介

1. TCP/IP模型 TCP/IP协议是在OSI参考模型出现之间就被开发的,并广泛部署在计算机网络中。但是,后来由于概念混淆,TCP/IP模型的层次和名称往往与OSI模型的层次名称相互借用。如图1.所示。 ...

xiangyunyan
43分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部