首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

laravel 5.1 :我怎么才能有两个wherePivot in eloquent?

在Laravel 5.1中,要使用两个wherePivot条件,可以通过以下步骤实现:

  1. 首先,确保你已经定义了一个多对多关系(Many-to-Many relationship)并在模型之间建立了适当的关联。
  2. 在查询中,使用wherePivot方法来添加第一个wherePivot条件。该方法接受两个参数,第一个参数是关联表中的字段名,第二个参数是要匹配的值。例如,假设你有一个名为users的表和一个名为roles的表,它们之间有一个多对多关系,你可以这样使用wherePivot方法:
代码语言:php
复制
$users = User::whereHas('roles', function ($query) {
    $query->wherePivot('column1', 'value1');
})->get();

上述代码将返回具有指定column1value1的关联记录。

  1. 要添加第二个wherePivot条件,可以在闭包中再次使用wherePivot方法。例如,如果你想添加一个额外的条件column2 = value2,可以这样修改代码:
代码语言:php
复制
$users = User::whereHas('roles', function ($query) {
    $query->wherePivot('column1', 'value1')
          ->wherePivot('column2', 'value2');
})->get();

上述代码将返回具有指定column1value1,以及column2value2的关联记录。

需要注意的是,wherePivot方法只能在关联模型的查询中使用,不能直接在模型本身的查询中使用。

关于Laravel 5.1的更多信息和详细用法,请参考腾讯云的Laravel 5.1文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】

本系列教程使用 Laravel 5.0 版本,5.1 版本去掉了本系列教程主要讲解的元素(Auth 系统),不建议使用 5.1 来学习。...使用浏览器访问你配置的地址,将看到以下画面(在本地配置的地址为 http://fuck.io:88 ): 2....模型 Models 接下来我们将接触Laravel最为强大的部分,Eloquent ORM,真正提高生产力的地方,借用库克的一句话:鹅妹子英!...现 在,Artisan 帮我们在 `learnlaravel5/app/` 下创建了两个文件 `Article.php` 和 `Page.php`,这是两个 Model 类,他们都继承了 Laravel...如果你想深入地了解 Eloquent,可以阅读系列文章:深入理解 Laravel Eloquent(一)——基本概念及用法 ---- 接下来进行 Article 和 Page 类对应的 articles

3.4K20
  • laravel5.1框架下的批量赋值实现方法分析

    本文实例讲述了laravel5.1框架下的批量赋值实现方法。...分享给大家供大家参考,具体如下: 官方中文文档在这里: http://laravel-china.org/docs/5.1/eloquent#%E6%89%B9%E9%87%8F%E8%B5%8B%E5%...80%BC 先来说明一下一个场景: 你想要往数据库中存评论,在控制器的代码如下: $comment- comment_id= $id; $comment- title = $name; $comment...php namespace App; use Illuminate\Database\Eloquent\Model; class Comment extends Model { protected $fillable...更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及

    48021

    Laravel学习记录--Model

    使用渴求式加载,即根据预先需求查询出所有数据 为了验证[渴求式加载]的好处,举下列例子 这里用到了Laravel Debugbar 调试 安装方法可参照的另一个博客 - - - Laravel...默认情况,pivot对象只包含两个关联模型的键。...('cid',1); } 自定义中间表模型 Laravel中允许你自定义中间表模型,需要注意的是中间表模型与普通模型不一样 普通模型继承自Illuminate\Database\Eloquent...下面介绍三种多态关联 一对一多态关联 一对一多态关联,还是通过举例来理解 引用大佬文章,原文链接 假设在我们的博客系统中用户可以设置头像,而文章也可以设置缩略图,我们知道每个用户只能有一个头像...withDefault(['name'=>'测试']); } 显示默认参数 多对多关联 附加/移除 一个学生可以选修多门选修课,同时一门选修课又可以被多个学生选修,学生与选修课之间是多对多的关系,那如果要给某个学生在增加一门选修课怎么

    13.6K20

    laravel 模型Eloquent ORM 查询

    up前面玩了 DB 查询,但是laravel开发基本不怎么使用db方式查询,应该有更强大的 模型 Model 介绍 LaravelEloquent ORM 提供了一个漂亮、简洁的 ActiveRecord...laravel 的 Model 使用先进的 Eloquent ORM 但也有优缺点 优点是数据库的操作变的简单安全 缺点也明显数据库的操作变的缓慢笨重 Eloquent ORM 作为 laravel 中亮点...这就坑爹了,表很多的话都生成在这个目录强迫症处女座的up怎么能忍,分分掀桌子的节奏。最后度娘告诉命令行也是支持目录的,命令改一改就好了。...但是却报错了我们看到model生成的sql 莫名其妙拼接了一个 s 这里百度了一下 artisan 生成的model 若没有特别指定,laravel系统会默认自动对应名称为「Eloquent类名称的小写复数形态...但是有点写法可能不太明白这种类名跟一个变量直接当参数传给方法的 function index(Test $testMdl) laravel 中大量使用了这种方法,百度了下知道这个东西叫做 依赖注入 。

    4.4K10

    Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解

    model序列化(这个方法从Laravel 5.1+开始就可以使用了): $user = App\User::find(1); return $user- toJson(); 使用多了,我们会发现,在...要解决这个问题,我们可以在model里定义hidden或者visible这两个数组来进行字段的隐藏或者显示: <?...但是如果你熟悉Laravel,你可能会说,慢着!这个情况可以用accessor不就完事儿了吗?...我们输出的JSON数据中,将会仅仅含有以上两个字段,即fullName和fullShippingAddress,非常干净,并且前端直接可用,不需要二次再加工。.../docs/5.7/eloquent-resources 本文主要讲解了Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解,更多关于Laravel框架的使用技巧请查看下面的相关链接

    4.4K30

    orm 系列 之 Eloquent演化历程2

    ,所以讲的错误的地方,恳请大牛们能不吝赐教;或者如果有什么地方是没看懂的,也请提出来,因为可能那地方就是自己没看懂,所以没讲明白,你提出后我们就可以一起讨论,让我们能共同的进步的。..., git co v1.1.1 此版本是v4.0.0之前的一个版本,从这以后laravel会以组件的形式组织各个功能,让我们分析下v1.1.1的版本,目前具有哪些功能,都是怎么实现的,先看下目录结构...5.3 文档 ] Eloquent ORM —— 关联关系,接下去让我们看下这是怎么实现的?...Manager,记得网上搜索过关键字Using Eloquent outside Laravel,我们可以看到一篇Vivek Kumar Bansal写的文章,文章从2方面介绍了怎么使用Eloquent...参考 [ Laravel 5.3 文档 ] Eloquent ORM —— 关联关系

    2.4K30

    Laravel5.2之Demo1——URL生成和存储

    --}} {{Form::close()}} 注明:Laravel代码会报错没有...在这里使用laravelcollective/html这个组件,顺便了解下怎么laravel中安装组件。 这里书中使用了laravel4.*自带的Form类,但laravel5....可以进入官网https://laravelcollective.com/docs/5.1/html找安装和配置方式,也可以去packagist.org中找https://packagist.org/packages...不过有时也推荐使用它的Query Builder查询构造器,实际上就是SQL语句封装的类,性能会比较高一些,个人遇到过一个场景:使用Eloquent ORM性能有点慢,导致PHP执行过长报503 Time...在验证表单时首先需要写验证规则$rules,本demo仅有一个输入且输入要符合URL格式,那就要考虑两个问题:怎么得到表单的输入$input和怎么写符合URL的$rules验证规则。

    24.1K31

    跟我一起学Laravel-EloquentORM进阶部分

    其中role_user表为关联表,包含两个字段user_id和role_id。 多对多关联需要使用belongsToMany方法 <?...这种关系比较强大,假设这样一个场景:Country模型下包含了多个User模型,而每个User模型又包含了多个Post模型,也就是说一个国家有很多用户,而这些用户都有很多帖子,我们希望查询某个国家的所有帖子,怎么实现呢...Relations (多态关联) 多态关联使得同一个模型使用一个关联就可以属于多个不同的模型,假设这样一个场景,我们有一个帖子表和一个评论表,用户既可以对帖子执行喜欢操作,也可以对评论执行喜欢操作,这样的情况下该怎么处理呢...dissociate方法 $user->account()->dissociate(); $user->save(); Many to Many 关系 中间表查询条件 当查询时需要对使用中间表作为查询条件时,可以使用wherePivot...$enterprise->with(['favorites' => function($query) { $query->wherePivot('enterprise_id', '=', 12)

    4K50

    Laravel系列4.4】模型Eloquent ORM的使用(二)

    当然,这个集合类相关的操作函数还有很多,这里我们只是演示了两个,具体的内容大家自行查阅一下官方手册。而源码呢?也只给出具体的文件,大家自己去看看,里面的数组各种操作功能都非常经典。...在所有模型都要继承的 laravel/framework/src/Illuminate/Database/Eloquent/Model.php 类中,我们很快就能发现一个 query() 静态方法。...觉得到这里真的已经非常清晰了。 然后我们来看一下这个 Model 基类中的其它方法,貌似没有发现 get() 、find() 之类的方法呀?这是怎么回事。...但是,这里划重点了,Eloquent\Builder 中有些方法是没有的,比如说 insert()、insertGetId() ,在模型中,使用 save() 就可以代替这两个方法的操作。...参考文档: https://learnku.com/docs/laravel/8.x/eloquent/9406

    2.8K20

    Laravel 中使用 Trait 优化代码结构

    今天给大家介绍的是在 Laravel 中使用 Trait 优化代码结构,说起 Trait ,一开始不知道是什么样的存在,有个模糊的印象是:复用。...现在一步步的来解释一下是怎么写的。 开始 官方解释: Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。...从展示的源码中我们可以看到,当前 Trait 定义了一个属性、两个方法,居然还可以定义属性,是不是很意外,哈哈。...接下来我们来看下面两个方法: bootSoftDeletes:静态、前缀加了 boot, 这表示啥呢?表示默认执行的操作,哈哈。...结束语 就简单的给大家介绍一下 Trait 在 Laravel 中如何使用的,写的不对的地方和补充欢迎大家留言噢,哈哈。

    1.5K20

    Laravel和Thinkphp有什么区别,哪个框架好用

    Laravel和Thinkphp这两个php框架对于php程序员都不陌生,新手可能对Thinkphp比较熟,也是国内比较出名的开源框架,更高级的Laravel一般有点经验的使用。...3、Laravel框架提供了大量的闭包 作为菜鸟的目前只使用了use方法,即如何在函数内部使用外层变量。...想这可能是它牢牢占据NO.1的一大亮点,在ThinkPHP中则需要我们借助SQL语句或者建表工具去逐步完善数据。 8.1、首先我们需要建立模型:用的是gitbash。...increments(‘id’)->comment(‘商品主键’); $table->string(‘title’)->comment(‘商品的标题’); 8.3、假设某个字段不符合要求或者需要添加字段怎么办...摘自5.1手册:(LaravelEloquent ORM 提供了漂亮、简洁的 ActiveRecord 实现来和数据库进行交互。每个数据库表都有一个对应的「模型」可用来跟数据表进行交互。

    6K20

    Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解

    本文实例讲述了Laravel框架Eloquent ORM简介、模型建立及查询数据操作。...分享给大家供大家参考,具体如下: 注:以下知识点可能有不全面之处,望见谅 NO.1Eloquent ORM简介 Laravel所自带的Eloquent ORM是一个优美、简洁的ActiveRecord...用来实现数据库操作 每个数据表都有与之相对应的“模型(Model)”用于和数据交互 NO.2模型的建立 最基础的模型代码如下: namespace App; use Illuminate\Database\Eloquent...table = 'student'; //指定id protected $primaryKey = 'id'; } 将他创建于app目录下,命名为Student.php NO.3查询数据 首先在查询之前,先让你们看一下的数据库...》 希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

    91731

    Laravel Eloquent 模型关联关系详解(上)

    你可能注意到了我们在定义关联关系时,仅仅指定了模型类名,并没有指定通过哪些数据表字段建立关联,这并不是说 Laravel 神通广大,能知过去未来之事,而是因为 Eloquent 对此做了默认的约定。...为什么我们不需要指定 Laravel 就能完成这种关联呢,这是因为如果没有指定 $foreignKey,Eloquent 底层会通过如下方法去拼接: public function getForeignKey...渴求式加载 前面我们演示的关联关系查询都是通过动态属性的方式,这种加载方式叫做「懒惰式加载」,因为都是用到的时候回去查询,这就意味着要多次对数据库的进行查询才能返回需要的结果。...在建表的时候遵循了这个约定,所以不需要额外指定。...同样,在建表的时候也遵循了这一约定,不需要额外指定。

    9.9K40
    领券