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();