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

Laravel Eloquent在WhereIn之后忽略orWhere查询

Laravel Eloquent是Laravel框架中的一个ORM(对象关系映射)工具,用于简化数据库操作。其中的WhereIn方法用于查询某个字段的值在给定数组中的记录。而orWhere方法用于在查询条件中添加一个"或"的逻辑关系。

在Laravel Eloquent中,如果在WhereIn方法之后使用了orWhere方法,那么orWhere方法会忽略之前的WhereIn条件,只考虑orWhere条件。这是因为orWhere方法会将之前的查询条件重置,只使用当前的orWhere条件进行查询。

举个例子,假设我们有一个User模型,其中有一个字段是status。我们想查询status为1或者status为2的用户记录,可以使用以下代码:

代码语言:txt
复制
$users = User::whereIn('status', [1, 2])
            ->orWhere('name', 'John')
            ->get();

上述代码中,我们使用了WhereIn方法查询status为1或者2的用户记录,然后使用了orWhere方法查询name为John的用户记录。由于使用了orWhere方法,之前的WhereIn条件会被忽略,最终查询结果会包括status为1或者2的用户记录以及name为John的用户记录。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iot
  • 腾讯云区块链(Blockchain):https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估。

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

相关·内容

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

问题引出 通过 Eloquent 模型实现增删改查这篇教程中,我们已经学习了如何在 Eloquent 模型类中进行各种查询,但是这些查询大多需要手动调用查询构建器提供的各种方法来实现。...如果有一些查询需要在多个地方调用,那么每个地方都要编写同样的代码,有没有什么办法对这种场景下的查询代码进行优化呢? Eloquent 模型类提供的「Scope」功能就可以帮我们实现这种优化。...模型类上调用「局部作用域」过滤器方法只需调用 scope 之后的过滤器名称即可,Eloquent 底层会通过魔术方法自动调用对应完整方法: $post = Post::active()->find(100...动态作用域 此外,Eloquent 模型类还支持「动态作用域」,所谓动态作用域指的是查询过程中动态设置预置过滤器的查询条件,动态作用域和局部作用域类似,过滤器方法名同样以 scope 开头,只不过可以通过额外参数指定查询条件...本系列教程首发在Laravel学院(laravelacademy.org)

2.5K20

跟我一起学Laravel-数据库操作和查询构造器

wehere条件 OR条件 其它where条件 whereBetween / whereNotBetween whereIn / whereNotIn whereNull / whereNotNull...使用sql语句执行插入 基本插入操作 更新操作 使用sql语句执行更新操作 基本更新操作 指定列的增减 删除操作 使用sql执行删除 基本删除操作 悲观锁 事务处理 查看日志记录 其它操作 Laravel.../ whereNotIn $users = DB::table('users') ->whereIn('id', [1, 2, 3]) ->get(); $users = DB::...,对Eloquent ORM同样有效,因为它内部也是调用了DB类的数据库连接。...); 这样不管什么操作都可以做了吧 另外含有两个方法,用于重新连接到指定数据库和断开连接 DB::reconnect('foo'); DB::disconnect('foo')d; ---- 参考: Laravel

6.3K30

需要掌握的 Laravel Eloquent 搜索技术

本文将带领大家学习 MySQL 和 Eloquent 搜索模块中设计的相关技术。 基本的 Eloquent Where 查询 作为首个要讲解的搜索功能,我们先不涉及新知识点。... Laravel 中可以使用 where 方法实现对给定字段和给定值进行比较查询,就是这样简单。 <?...) 查询,则可以使用 Eloquent 查询构造器提供的 orWhere 方法。...Laravel 中也可以轻松执行对 JSON 数据的查询,这得益于 Laravel 良好的 JSON 支持。 不过深入研究之前需要注意的一点是:谨记 JSON 列的存储是 区分大小写 的。...我们可以 Laravel 里使用 where 语句,可以使用原生 SQL 语句,甚至可以使用模糊查询和相似查询,所有这些查询功能都是 Laravel 内置提供的开箱即用,非常赞!

3.5K10

需要掌握的 Laravel Eloquent 搜索技术

本文将带领大家学习 MySQL 和 Eloquent 搜索模块中设计的相关技术。 基本的 Eloquent Where 查询 作为首个要讲解的搜索功能,我们先不涉及新知识点。... Laravel 中可以使用 where 方法实现对给定字段和给定值进行比较查询,就是这样简单。 <?...) 查询,则可以使用 Eloquent 查询构造器提供的 orWhere 方法。...Laravel 中也可以轻松执行对 JSON 数据的查询,这得益于 Laravel 良好的 JSON 支持。 不过深入研究之前需要注意的一点是:谨记 JSON 列的存储是 区分大小写 的。...我们可以 Laravel 里使用 where 语句,可以使用原生 SQL 语句,甚至可以使用模糊查询和相似查询,所有这些查询功能都是 Laravel 内置提供的开箱即用,非常赞!

4.3K20

laravel 模型Eloquent ORM 查询

up前面玩了 DB 查询,但是laravel开发基本不怎么使用db方式查询,应该有更强大的 模型 Model 介绍 LaravelEloquent ORM 提供了一个漂亮、简洁的 ActiveRecord...你可以通过模型查询数据表中的数据,以及在数据表中插入新记录。 开始之前,请确保 config/database.php 中配置数据库连接。更多关于数据库配置的信息,请查看 文档。...laravel 的 Model 使用先进的 Eloquent ORM 但也有优缺点 优点是数据库的操作变的简单安全 缺点也明显数据库的操作变的缓慢笨重 Eloquent ORM 作为 laravel 中亮点...但是却报错了我们看到model生成的sql 莫名其妙拼接了一个 s 这里我百度了一下 artisan 生成的model 若没有特别指定,laravel系统会默认自动对应名称为「Eloquent类名称的小写复数形态...像 get 里面这一长串方法一样,我们查询数据的时候经常会有略微复杂的查询把它们写成一个模型方法 比如说 app/Models/Test.php 文件中写一个 getList 方法 <?

4.4K10

Laravel5.1 框架数据库查询构建器用法实例详解

本文实例讲述了Laravel5.1 框架数据库查询构建器用法。分享给大家供大家参考,具体如下: 今儿个咱说说查询构建器。它比运行原生SQL要简单些,它的操作面儿也是比较广泛的。...orWhere和where接收的参数是一样的,当where逻辑没有查找到 or查找到了 返回or的结果,当where查找到了 or也查找到了 返回它们的结果。...2.4 whereIn和whereNotIn whereIn是查找列值在给定的一组数据中: public function getArticlesInfo() { $articles =...归0的话 可以这么做: public function getDeleteArticle() { DB::table('articles')- truncate(); } 6 锁 查询构建器还包含一些方法帮助你...可以查询中使用sharedLock方法从而在运行语句时带一把”共享锁“。

3.5K41

3分钟短文 | Laravel复杂SQL超多WHERE子句,本地作用域你没用过

Laravel提供的 eloquent orm 使用面向对象的方式封装了PDO数据库操作,使用起来非常方便,对于复杂的SQL操作也游刃有余。...学习时间 比如对于业务逻辑中,User模型筛选查询的时候有非常多的限制条件,类似下面这样的: ? 这一堆令人头皮发麻的where,还不算变态。...= User::where($matchThese)->get(); 或者是这样查询: $results = User::where($matchThese)->orWhere($orThose)->...get(); 上面这条查询组装为SQL之后,长这样: SELECT * FROM users WHERE (field = value AND another_field = another_value...就是在对应的 Eloquent 模型方法前添加 scope 前缀,模型中构造如下的作用域方法: ?

2.7K10

laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析

本文实例讲述了laravel框架数据库操作、查询构建器、Eloquent ORM操作。...而且通过PDO绑定的方式避免SQL注入攻击,使用查询构建器时不必考虑过滤用户输入。...get(); 通过orwhere()来连接两个并列条件,例如查询id =1003或者id<1002的数据: $res=DB::table('student')- where('id',' =',1003...<em>Laravel</em>内置的<em>Eloquent</em> ORM提供了一种便捷的方式帮助你组织数据库数据,每张数据表都对应一个与该表进行交互的模型(Model),通过Model类,你可以对数据表进行<em>查询</em>、插入、更新、删除等操作...<em>Eloquent</em> ORM本质上是<em>查询</em>构建器,因此上面<em>查询</em>构建器所使用的方法<em>Eloquent</em>都可以使用。

13.3K51

Laravel实现用户多字段认证的解决方法

前言 本文主要给大家介绍了关于Laravel用户多字段认证的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。...弊端显而易见,如果另一个不是 email 就抓瞎了……,下面是另一种通用的解决方案: LoginController 中重写 login 方法 public function login(Requests...query as a where clause. // Then we can execute the query and, if we found a user, return it in a // Eloquent...Str::contains($key, 'pass/【尽量使用一键安装脚本,要么自己做,要么网上下载或使用我博客的,把时间用在更多的地方,少做重复劳动的事情】/word')) { $query->orWhere...($key, $value); } } return $query->first(); } 注意: 将 $query->where($key, $value); 改为 $query->orWhere

48920
领券