whereNotIn() Clause Query in Laravel 11 & Laravel 12

In Laravel 11 Laravel 12, the `whereNotIn()` method is used to filter out specific values from a column. It is the opposite of `whereIn()` and is helpful when you want to exclude certain records from the query results.

1. Basic `whereNotIn()` Example

$users = User::whereNotIn('role', ['admin', 'editor'])->get();

Explanation:

– Retrieves all users except those with roles `admin` and `editor`.
– Works on arrays of values.

2. `whereNotIn()` with Multiple Conditions

$users = User::whereNotIn('role', ['admin', 'editor'])
->where('status', 'active')
->get();

Explanation:

Excludes `admin` and `editor` roles.
Only fetches users with `active` status.

3. Using `whereNotIn()` with Query Builder

use Illuminate\Support\Facades\DB;

$products = DB::table('products')
->whereNotIn('category', ['electronics', 'furniture'])
->get();

Explanation:

Excludes products in the “electronics” and “furniture” categories.

4. `whereNotIn()` with Dynamic Data (Array from Request)

$excludedRoles = ['subscriber', 'guest'];
$users = User::whereNotIn('role', $excludedRoles)->get();

Explanation:

– Uses a dynamic array for filtering.
– Useful when excluding roles dynamically from request input.

5. `whereNotIn()` with Pagination

$users = User::whereNotIn('role', ['admin', 'editor'])->paginate(10);

Explanation:

– Excludes `admin` and `editor` roles.
– Returns results paginated (10 per page).