Comment tester « if not null » avec Laravel Eloquent ?

Introduction

L’ORM Eloquent inclus avec Laravel vous fournit un moyen facile d’interagir avec votre base de données. Cela simplifie toutes les opérations CRUD (create, read, update, et delete) et toute autre requête de base de données.

Dans ce tutoriel, vous apprendrez comment vérifier si la valeur d’une colonne spécifique est NULL ou non avec Laravel Eloquent !

Vérifier si null : whereNull

Prenons l’exemple suivant et disons que nous avons une table Users, et que nous voulons obtenir une liste de tous les utilisateurs qui n’ont pas spécifié leur nom de famille, par exemple.

Si nous utilisions du SQL pur, la requête ressemblerait à ceci :

SELECT *
FROM users
WHERE last_name IS NULL;

Remarquez le IS NULL à la fin

La requête ci-dessus renvoie tous les utilisateurs de votre base de données dont le nom de famille est défini comme NULL.

Laravel Eloquent fournit une méthode pratique appelée whereNull que vous pouvez utiliser pour vérifier si une valeur spécifique d’une colonne donnée est NULL.

Ainsi, dans ce cas, l’exemple ci-dessus ressemblerait à ceci avec Eloquent :

$users = User::whereNull('last_name')
                    ->get();

Ou si vous préférez utiliser l’option DB cela ressemblerait à ceci :

$users = DB::table('users')
                    ->whereNull('last_name')
                    ->get();

Vérifier si elle n’est pas nulle : whereNotNull

Prenons un exemple similaire, mais dans ce cas, nous voulons obtenir tous les utilisateurs qui ont spécifié leur nom de famille.

En SQL pur, nous utiliserions la méthode IS NOT NULL et la requête ressemblerait à ceci :

SELECT *
FROM users
WHERE last_name IS NOT NULL;

L’équivalent de la méthode IS NOT NULL dans Laravel Eloquent est la condition whereNotNull qui vous permet de vérifier si la valeur d’une colonne spécifique est conforme à la condition n’est pas NULL.

Donc dans ce cas, en utilisant le whereNotNull l’exemple ci-dessus ressemblerait à ceci avec Eloquent :

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

Et encore une fois, si vous préférez utiliser l’option DB cela ressemblerait à ceci :

$users = DB::table('users')
                    ->whereNotNull('last_name')
                    ->get();

Nouveau Tutoriel

Newsletter

Ne manquez jamais les nouveaux conseils, tutoriels et autres.

Pas de spam, jamais. Nous ne partagerons jamais votre adresse électronique et vous pouvez vous désabonner à tout moment.