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

如何在Eloquent中将"or“与多个"where”一起使用?

在Eloquent中,可以使用"or"关键字将多个"where"条件语句连接起来,实现多个条件之间的逻辑或关系。

具体使用方法如下:

  1. 使用orWhere方法:可以在每个where条件之后使用orWhere方法,将多个条件连接起来。示例代码如下:
代码语言:txt
复制
$users = DB::table('users')
            ->where('name', 'John')
            ->orWhere('name', 'Jane')
            ->get();

上述代码将查询名字为"John"或者"Jane"的用户。

  1. 使用闭包:可以使用闭包来组合多个where条件,并使用orWhere方法将它们连接起来。示例代码如下:
代码语言:txt
复制
$users = DB::table('users')
            ->where(function ($query) {
                $query->where('name', 'John')
                      ->orWhere('name', 'Jane');
            })
            ->get();

上述代码与前面的示例代码效果相同,查询名字为"John"或者"Jane"的用户。

使用"or"关键字可以方便地在Eloquent中实现多个"where"条件之间的逻辑或关系,提供了灵活的查询方式。

关于Eloquent的更多信息和使用方法,可以参考腾讯云的相关文档和官方网站:

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

相关·内容

在 Laravel Eloquent 模型类中使用作用域进行查询

问题引出 在通过 Eloquent 模型实现增删改查这篇教程中,我们已经学习了如何在 Eloquent 模型类中进行各种查询,但是这些查询大多需要手动调用查询构建器提供的各种方法来实现。...如果有一些查询需要在多个地方调用,那么在每个地方都要编写同样的代码,有没有什么办法对这种场景下的查询代码进行优化呢? Eloquent 模型类提供的「Scope」功能就可以帮我们实现这种优化。...接下来,我们就来演示如何在 Eloquent 模型类上使用「作用域」进行查询。...所谓「局部作用域」,指的是预置过滤器在对应模型类的指定查询中生效,「全局作用域」不同,「局部作用域」需要额外指定才能生效,但是相应的,也更加灵活,可以适用于不同场景。...推荐使用这种方式来构建需要在多个场景调用的复杂 Eloquent 查询。 移除局部作用域很简单,不要在查询中指定对应的过滤器方法即可。

2.4K20

Laravel5.7 Eloquent ORM快速入门详解

简介 Laravel 内置的 Eloquent ORM 提供了一个美观、简单的数据库打交道的 ActiveRecord 实现,每张数据表都对应一个该表进行交互的模型(Model),通过模型类,你可以对数据表进行查询...当然,这两个属性你只能同时使用其中一个而不能一起使用,因为它们是互斥的。下面的例子中,除了 price 之外的所有属性都是可以赋值的: <?...restore 方法来快速恢复多个模型,同样,这也不会触发任何模型事件: App\Flight::withTrashed() - where('airline_id', 1) - restore(...User::all() 查询则会生成如下 SQL 语句: select * from `users` where `age` 200 匿名的全局作用域 Eloquent 还允许我们使用闭包定义全局作用域...举个例子,在 Eloquent 模型中定义一个 $dispatchesEvents 属性来映射模型生命周期中多个时间点对应事件类: <?

15K41

orm 系列 之 Eloquent演化历程1

Eloquent Eloquent是laravel中的orm,采取的是active record的设计模式,里面的对象不仅包括领域逻辑,还包括了数据库操作,但是大家平时使用的时候可能没有探究eloquent...,所以讲的不错误的地方,恳请大牛们能指出,或者如果你有什么地方是没看懂的,也请指出问题来,因为可能那地方就是我自己没看懂,所以没讲明白,也请提出来,然后我们一起讨论的,让我们能共同的进步的。...刚提交上来的时候,Model类中大概如下: 可以看到属性通过定义table,connection,将具体的数据库操作是委托给了connection类,然后Model自己是负责领域逻辑,同时会定义一些静态方法,create...以上就是我们分析的HasOne的实现,其他的关系都类似,此处不再重复,然后eager load的含义是指,当我们要加载多个数据的时候,我们尽可能用一条sql解决,而不是多条sql,具体来说如果我们有多个...user_id in (1) select id from user where id in (phone.user_id) One-To-Many 以Post和Comment为例,一个Post会有多个

1K30

Laravel学习记录--Model

\Model model表名的关系 表名去掉s 就是关于这个表的model类 users表 的Model类叫 User 创建model 使用命令提示符创建 Model php artisan...,一篇文章会有多个评论 在文章模型使用hasMany() hasMany()hasOne()语法一致,这里不予介绍 //获取文章的评论 public function comments...渴求式加载多个关联关系 有时候你需要在单个操作中渴求式加载多个不同的关联关系,要实现这一功能,只需添加参数到with方法即可 ,以逗号分割 ,查询文章的作者即所在栏目 嵌套的渴求式加载 要使用嵌套的渴求式加载的关联关系...在调用save方法向Phone模型插入值 这里Eloquent自动在phones表中添加了uid字段,并插入正确的值 使用saveMany添加多个值 $user = \App\Muser::find...当一个Comment模型更新时,你要自动使父模型Post时间更新,要实现这一概念只需在子模型加一个包含关联名称(对应关联方法的名称)的touches属性即可,支持添加多个关联关系 : <?

13.4K20

Laravel Eloquent 模型关联关系(下)

此外,你还可以通过数组传递多个关联关系一次统计多个字段,还可以通过闭包函数指定对应统计的过滤条件: $post = Post::withCount(['tags', 'comments' => function...>orderBy('created_at', 'desc'); }]); 关联插入更新 一对多关联记录插入 新增关联模型的时候,可以在父模型上调用相应方法直接插入记录到数据库,这样做的好处是不需要指定关联模型父模型的外键关联字段值...,Eloquent 底层会自动判断并设置。...有时候,你可能仅仅是想要更新中间表字段值,这个时候,可以通过 updateExistingPivot 方法在第二个参数中将需要更新的字段值以关联数组的方式传递过去: $post->tags()->updateExistingPivot...希望你看完学院君的这一系列教程可以了解并完全掌握 Eloquent 模型的定义和使用,有什么问题,欢迎随时与我交流。

19.5K30

跟我一起学Laravel-EloquentORM基础部分

使用Eloquent [‘eləkwənt] 时,数据库查询构造器的方法对模型类也是也用的,使用上只是省略了DB::table('表名')部分。...) ->get(); 可以看到,查询构造器的方法对模型类也是可以使用的 在eloquent ORM中,get和all方法查询出多个结果集,它们的返回值是一个Illuminate\Database...$flight = App\Flight::where('active', 1)->first(); 使用find方法也可以返回多个结果,以Collection对象的形式返回,参数为多个主键 $flights...fristOrNewfirstOrCreate类似,不同在于如果不存在,它会返回一个新的模型对象,不过该模型是未经过持久化的,需要手动调用save方法持久化到数据库。...$flight = App\Flight::find(1); $flight->name = 'New Flight Name'; $flight->save(); 也可使用update方法对多个结果进行更新

81720

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

到目前为止,我们介绍的所有 Eloquent 模型操作都是针对单表的,接下来我们将花三篇左右的篇幅来给大家介绍如何在 Eloquent 模型类中建立模型之间的各种关联关系,以及如何实现关联查询和更新。...比如在大型系统中,我们的用户表通常用于最基本信息的存储,邮箱、用户名、密码等,然后像用户爱好、标签、个性签名、所在地等信息都存到另一张扩展表中,需要的时候才会去扩展表取数据,从而提高查询性能。...遵循这种默认的约定,可以帮我们少写很多代码,减少很多额外的配置,所以如果不是迫不得已(比如从其他系统迁移过来),建议你在使用 Eloquent 的话,尽量遵循这些默认约定。...建立相对的关联关系 一对一一样,我们可以在文章模型中建立用户模型之间的相对关联关系,而且这种使用场景很普遍,比如在文章详细页或列表页显示文章作者信息。...在遍历的时候可以通过 $post->author 获取,而无需每次加载,从而提高数据库查询性能: 多对多 建立关联关系 多对多关联也很常见,还是以博客系统为例,我们会为每篇文章设置标签,一篇文章往往有多个标签

9.8K40

Laravel源码解析之Eloquent Model

Eloquent Model以上文讲到的Query Builder为基础提供了Eloquent Builder数据库进行交互,此外还提供了模型关联优雅地解决了多个数据表之间的关联关系。...->where('name', 'James')->where('age', 27)->get(); 把它改写为使用Model的方式后就变成了 User::where('name', 'James')-...Builder实例的这些方法,Eloquent Builder底层数据库交互的部分都是依赖Query Builder来实现的,我们看到在实例化Eloquent Builder的时候把数据库连接的QueryBuilder...是在Query Builder的基础上做了进一步封装, Eloquent Builder会把这些CRUD方法的调用转给Query Builder里对应的方法来完成操作,所以在Query Builder里能使用的方法到...Eloquent Model中同样都能使用

2.2K50

跟我一起学Laravel-EloquentORM高级部分

age > 200 也可以使用匿名函数添加全局约束 static::addGlobalScope('age', function(Builder $builder) { $builder->where...User::withoutGlobalScope(AgeScope::class)->get(); // 移除所有约束 User::withoutGlobalScopes()->get(); // 移除多个约束...$query) { return $query->where('active', 1); } } 使用上述添加的本地约束查询,只需要在查询中使用scope前缀的方法,去掉...Mutators 在Eloquent模型中,Accessor和Mutator可以用来对模型的属性进行处理,比如我们希望存储到表中的密码字段要经过加密才行,我们可以使用Laravel的加密工具自动的对它进行加密...在访问的时候,只需要正常的访问属性就可以 $user = App\User::find(1); $firstName = $user->first_name; mutators 创建mutatorsaccessorsl

1.2K40

需要掌握的 Laravel Eloquent 搜索技术

本文将带领大家学习 MySQL 和 Eloquent 在搜索模块中设计的相关技术。 基本的 Eloquent Where 查询 作为首个要讲解的搜索功能,我们先不涉及新知识点。...php $results = Post::where('title', 'foo')->get(); 甚至,你可以传入一个 array 到 where 方法里,对多个字段进行比较查询。...它的工作原理,类似 &&(查询) 运算符,当所有条件都为 true 时,返回结果集: <?...使用 Like 关键字 如何实现模糊查询呢?即实现 MySQL 的 LIKE 查询。Eloquent 提供了比 where 语句更加灵活的模糊查询功能。...查询给定的表达式有类似发音的语句是个不错的主意。这种场景我们无法使用 like 关键字,但我们有 sound like 关键字。

3.5K10

深入理解 Laravel Eloquent(三)——模型间关系(关联)

在本篇文章中,我将跟大家一起学习 Eloquent 中最复杂也是最难理解的部分——模型间关系。...由于前面的 `find(10)` 已经锁定了 id = 10,所以这段函数对应的 SQL 为: `select * from account where user_id=10`。...---- 这段代码除了展示了一对一关系该如何使用之外,还传达了三点信息,也是我对于大家使用 Eloquent 时候的建议: 1....pay: id ... ... user_id User 和 Pay 具有一对多关系,换句话说就是一个 User 可以有多个 Pay,这样的话,只在 Pay 表中存在一个 `user_id` 字段即可。...其他关系 Eloquent 还提供 “远层一对多关联”、“多态关联” 和 “多态的多对多关联” 这另外三种用法,经过上面的学习,我们已经掌握了 Eloquent 模型间关系的基本概念和使用方法,剩下的几种不常用的方法就留到我们用到的时候再自己探索吧

2.6K30

通过 Laravel Eloquent 模型实现简单增删改查操作

,简单来说,它会构建类数据表之间的映射关系,从而建立起一个可在编程语言里使用的「虚拟对象数据库」。...表名 Eloquent 约定模型类映射表名是将类名由驼峰格式转化为小写+下划线(含多个单词的话),最后将其转化为复数形式,比如 Post 对应表名是 posts、PostTag 对应表名是 post_tags...数据库连接 Eloquent 模型类默认约定的数据库连接是 config/database.php 中配置的默认连接,正如我们在连接配置教程中所说的那样,如果应用配置了多个数据库连接,可以通过 $connection...实际上,Eloquent 模型类底层的查询也是基于查询构建器来实现的,你可以在模型类上调用所有查询构建器的 Where 查询方法,同样是以流接口的模式构建方法链调用即可。...::where('name', '学院君')->fisrt(); $user->delete(); 结语 在这篇教程中,我们简单给大家介绍了 Eloquent 是什么,以及「约定优于配置」理念在 Eloquent

7.9K20
领券