Share this:

Today we are going to learn How do you check “if not null” with Eloquent? When working with databases in Laravel, the Eloquent ORM (Object-Relational Mapping) provides a convenient and expressive way to interact with the underlying database.

One common requirement is to check if a specific field or attribute is “not null” before performing certain actions.

In this blog post, we will explore various techniques to accomplish this task effectively using Eloquent.

Also Read: Error “Target class controller does not exist” when using Laravel 10

Understanding “Not Null”:

Before diving into the techniques, let’s clarify what “not null” means in the context of databases.

When a field or attribute is defined as “not null,” it indicates that the value of that field must exist and cannot be empty or null.

In Eloquent, we need to validate this condition before proceeding with our desired operations.

Techniques to Check for “Not Null” with Eloquent:

Using the whereNotNull Method:

Eloquent provides the whereNotNull method, which allows us to retrieve records based on a specific field being “not null.”

This method is available on query builder instances or Eloquent models. Here’s an example:

$users = User::whereNotNull('email')->get();

In the above code, we retrieve all users whose email field is not null. You can adjust the method call based on the specific field you want to check.

Also Read: How to Query All GraphQL Type Fields Without Writing a Long Query in Laravel?

Leveraging where with IS NOT NULL:

In some cases, you may prefer to use the where method directly with the IS NOT NULL clause.

This approach is particularly useful when you need to perform additional conditions alongside the “not null” check. Here’s an example:

$users = User::where('email', 'IS NOT', null)->where('is_active', true)->get();

In the above code, we retrieve users with a non-null email and an active status. Adjust the conditions as per your requirements.

Utilizing Accessor Methods:

Eloquent allows you to define accessor methods within your models, which can be useful for checking “not null” values dynamically.

By defining an accessor method for a specific attribute, you can perform custom logic before returning the value. Here’s an example:

class User extends Model
    // ...

    public function getEmailAttribute($value)
        if (!is_null($value)) {
            // Custom logic to handle non-null email values
        return $value;

In the above code, the getEmailAttribute method is called whenever you access the email attribute on a User instance. You can add your own logic to handle non-null values appropriately.

Also Read: Laravel 10: How to Set Variables in a Laravel Blade Template


When working with Eloquent in Laravel, checking for “not null” values is a common requirement. Whether you need to retrieve records with non-null values or perform additional conditions based on the “not null” constraint, Eloquent provides several techniques to accomplish these tasks.

By leveraging methods like whereNotNull, using the IS NOT NULL clause, or defining custom accessor methods, you can ensure the integrity of your data and build robust applications.

Remember to refer to the Laravel documentation for further details on these techniques and explore additional features provided by Eloquent to streamline your database interactions. Happy coding!

Share this:

Categorized in: