Laravel 查询生成器 WHERE NOT IN

mysqlLaravel

1个回答

写回答

1167

2025-07-08 12:00

+ 关注

Laravel
Laravel

使用 Laravel 查询生成器的 WHERE NOT IN 子句可以帮助我们在数据库中进行更精确的查询。这个子句允许我们排除一个或多个特定的值,以便只返回符合我们要求的数据。在本文中,我们将介绍 WHERE NOT IN 子句的使用方法,并提供一个案例代码来帮助读者更好地理解。

WHERE NOT IN 子句的语法

在 Laravel 查询生成器中,WHERE NOT IN 子句的语法如下所示:

->whereNotIn('column', ['value1', 'value2', ...])

其中,'column' 是我们要进行排除操作的列名,而 ['value1', 'value2', ...] 则是我们要排除的值的数组。

使用 WHERE NOT IN 进行查询

假设我们有一个用户表,其中包含了用户的姓名和国家信息。现在,我们想要查询所有不属于美国和英国的用户。我们可以使用 WHERE NOT IN 子句来实现这个目标。

下面是一个示例代码:

php

$users = DB::table('users')

->select('name', 'country')

->whereNotIn('country', ['USA', 'UK'])

->get();

在上面的代码中,我们使用 whereNotIn('country', ['USA', 'UK']) 条件来排除了国家为美国和英国的用户。然后,我们通过 select('name', 'country') 方法来选择返回结果中的姓名和国家信息。最后,我们使用 get() 方法来获取查询结果。

案例代码解释

在上面的案例代码中,我们使用了 DB::table('users') 来指定要查询的表名为 users。然后,我们使用 select('name', 'country') 方法来指定返回结果中的列名为 name 和 country。接下来,我们使用 whereNotIn('country', ['USA', 'UK']) 条件来排除国家为美国和英国的用户。最后,我们使用 get() 方法来执行查询并获取结果。

在本文中,我们介绍了 Laravel 查询生成器的 WHERE NOT IN 子句的使用方法,并提供了一个案例代码来帮助读者更好地理解。通过使用 WHERE NOT IN 子句,我们可以更精确地查询数据库中的数据,并排除特定的值。希望本文能对你在使用 Laravel 进行数据库查询时有所帮助。

参考代码:

php

$users = DB::table('users')

->select('name', 'country')

->whereNotIn('country', ['USA', 'UK'])

->get();

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号