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

从Query Builder Laravel中排除记录

是指在使用Laravel框架的Query Builder进行数据库查询时,排除某些特定的记录。

在Laravel中,可以使用whereNot方法来实现排除记录的功能。该方法接受两个参数,第一个参数是要排除的字段名,第二个参数是要排除的值。例如,假设我们有一个users表,其中有一个status字段,我们想要排除statusinactive的记录,可以使用以下代码:

代码语言:php
复制
$users = DB::table('users')
            ->whereNot('status', 'inactive')
            ->get();

上述代码将返回一个包含所有status不为inactive的用户记录的集合。

除了whereNot方法,还可以使用whereNotIn方法来排除多个特定的值。该方法接受两个参数,第一个参数是要排除的字段名,第二个参数是一个数组,包含要排除的值。例如,如果我们想要排除statusinactiveblocked的记录,可以使用以下代码:

代码语言:php
复制
$users = DB::table('users')
            ->whereNotIn('status', ['inactive', 'blocked'])
            ->get();

上述代码将返回一个包含所有status不为inactiveblocked的用户记录的集合。

需要注意的是,以上示例中的DB::table('users')是一个简单的示例,实际使用时应根据具体的数据库表和字段进行调整。

推荐的腾讯云相关产品:腾讯云数据库MySQL、腾讯云云服务器CVM。

腾讯云数据库MySQL:腾讯云提供的一种高性能、可扩展的关系型数据库服务。它具有高可用性、自动备份、数据恢复等特性,适用于各种规模的应用场景。详情请参考:腾讯云数据库MySQL

腾讯云云服务器CVM:腾讯云提供的一种弹性计算服务,可以快速创建和部署云服务器。它具有高性能、高可靠性、灵活扩展等特点,适用于各种应用场景。详情请参考:腾讯云云服务器CVM

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

相关·内容

  • 如何从Serilog请求日志记录中排除健康检查终结点

    第1部分-使用Serilog RequestLogging减少日志详细程度 第2部分-使用Serilog记录所选的终结点属性 第3部分-使用Serilog.AspNetCore记录MVC属性 第4部分-...从Serilog请求日志记录中排除健康检查端点(本文) 作者:依乐祝 译文地址:https://www.cnblogs.com/yilezhu/p/12253361.html 原文地址:https...当您有一个访问比较频繁的端点时,这非常有用,因为为每个请求都进行记录几乎没有什么价值。 健康检查访问较频繁 这篇文章的动机来自我们在Kubernetes中运行应用程序时看到的行为。...从Kubernetes 1.16版开始,存在第三种探针,即startup probe。 在ASP.NET Core 2.2+中提供的健康检查终结点非常适合这些探针。...虽然它没有MVC基础架构的请求所示的那么多-每个请求10个日志,但是即使每个请求只有1个日志(就像我们从Serilog.AspNetCore获得的那样)都可能会令人不快。

    1.4K10

    3分钟短文:Laravel 从软删除说到模型作用域的概念

    我们从软删除的使用,再顺便说一说模型内的作用域的概念。 代码时间 常规的删除操作分两步进行,一步是把数据从数据库中查询出来,使用laravel模型的方法, 则返回的是一个模型对象。...数据库的表内记录直接移除了,这在重要的表, 比如user,order,payment这些关系用户权限,资金支付等等的重要数据资源上,物理删除是不被允许的。...在laravel中, 这个软删除字段默认是 deleted_at。你也可以在模型中手动指定。...$builder) { $builder->where('active', true); }); }} 那么所有的模型查询,都会默认加上声明中的where...写在最后 本文从laravel模型的写操作删除动作,讲到了软删除的概念。进而引申出来本地作用域和全局作用域的使用。软删除几乎贯穿了我们应用的始终,需要大家勤学苦练。

    1.4K30

    orm 系列 之 Eloquent演化历程2

    中一大亮点Artisan,Artisan是 Laravel 自带的命令行接口名称,此处不做具体的介绍了,有机会再细说的,当我们在命令行中执行php artisan command的时候,会去调用migrateCommand...'); // 从文件中获取migrate files $files = $this->getMigrationFiles($path); // 获取已经执行的migration...的功能,包括了Model、Builder和Relation功能,忘记的可以去看前一篇orm 系列 之 Eloquent演化历程1的内容 Query:包含了最基本的Sql的操作和语法逻辑,类似于自定义了一个...migration哪些已经做了,哪些还没有做,这些记录方式我们通过DatabaseMigrationRepository来实现,最终是通过将执行记录以log的形式插入到数据库中。...首先是morphMany的构造函数: public function __construct(Builder $query, Model $parent, $morphName) { $this

    2.4K30

    【Laravel系列4.5】主从库配置和语法生成

    这也是因为我们在某些业务中,需要在操作完数据后马上查询,主从之间的延迟可能会导致查询的从库数据不正确(这在现实业务中很常见)。...从这里我们可以看出,Laravel 是根据参数来判断是否使用从库连接进行查询的,而我之前看过其它框架的源码,是 Yii 还是 TP 什么来着,有根据查询语句是否有 SELECT 字符来判断走从库去查询的...在执行 update() 操作时,我们最后进入了 laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php 这个对象中。...public function compileSelect(Builder $query) { if ($query->unions && $query->aggregate) {...当然,更复杂的东西其实还是在构造器中,毕竟在语法生成这里其实是已经到了最后的拼装阶段了。有兴趣的同学可以多深入研究一下 Builder 对象中关于上述功能的方法实现。

    4.3K20

    Laravel源码解析之Model

    根据单一责任开发原则来讲,在laravel的开发过程中每个表都应建立一个model对外服务和调用。...这个文件在你项目目录中的 vendor/laravel/framework/src/Illuminate/Database/Query 下,你可以自行去查看。...DB facade 正常情况下你可能会这样写一个操作 DB::table('user')->get(); 这个操作首先经过laravel的门面指向文件,不过它并不在 app.php 中,而是通过内核直接加载...new Builder($query); } 最后我们到了 Illuminate\Database\Eloquent\Builder 文件下,这个类中涵盖了ORM的基本操作,例如find , findOrFail...如果你在代码用到了get方法,抱歉,这里没有,它依旧会通过__call 方法将你的请求转发到 Illuminate\Database\Query\Builder 类中 $this->query->{$method

    1.1K30

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

    这个 toArray() 并不是 Builder 中的方法,如果不加这个 toArray() ,返回的是什么大家有没有注意过?...而我们在日常的操作中,其实最习惯的是使用数组那种形式的操作,除开我们后面会讲的直接从配置入手来修改 PDO FETCH 属性之外,我们还可以用上面这个 map() 函数配合模型对象的 attributesToArray...在所有模型都要继承的 laravel/framework/src/Illuminate/Database/Eloquent/Model.php 类中,我们很快就能发现一个 query() 静态方法。...而不是我们之前 查询构造器 中的 laravel/framework/src/Illuminate/Database/Query/Builder.php 对象。...但 Eloquent\Builder 的内部持有的一个query 属性依然是 Query\Builder 对象,也就是说在底层,它依然是调用的我们熟悉的那个 查询构造器 来进行工作的。

    2.8K20

    Laravel源码分析之模型关联

    按照Laravel设定好的模式来写关联模型每个人都能写出高效和优雅的代码 (这点我认为适用于所有的Laravel特性)。...在开发中我们经常遇到的关联大致有三种:一对一,一对多和多对多,其中一对一是一种特殊的一对多关联。我们通过官方文档里的例子来看一下Laravel是怎么定义这两种关联的。...[] : $columns; $builder = $this->query->applyScopes(); $models = $builder->addSelect...wherebook_idin(...)的约束,接下来通过 getEager方法获取所有的关联模型组成的集合,再通过关联类里定义的match方法把外键值等于父模型主键值的关联模型组织成集合设置到父模型的 $relations属性中接下来用到了这些预加载的关联模型时都是从...模型关联常用的一些功能的底层实现到这里梳理完了,Laravel把我们平常用的join, where in 和子查询都隐藏在了底层实现中并且帮我们把相互关联的数据做好了匹配。

    9.6K10
    领券