Éloquent de sélectionner des lignes vides chaîne ou une valeur null
J'ai quelque chose comme $user->albums()->where('col', NULL)
, il fonctionne très bien puis j'ai essayé de l'étendre à des chaînes vides avec $user->albums()->where('col', NULL)->or_where('col', '')
et il ne fonctionne pas.
Aussi, j'ai vu sur ce post que je pourrais utiliser where_null('col')
mais ça ne marche pas et ce n'est pas documentée. Toute méthode simple pour sélectionner l'emplacement vide ou NULL col
Juste un conseil pour les futurs utilisateurs, la solution est whereNull('colonne'), comme vous pouvez le voir dans laravel.com/docs/5.7/queries#unions
OriginalL'auteur Jonathan de M. | 2013-12-20
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser
orWhereNull
pour la deuxième clause:Utiliser une fermeture:
DB::table('users')->where(function($query) { $query->where(...)->orWhere(...)->orWhere(...); })->where(...)->where(...)->get();
. Cela va encapsuler la fermeture en fonction des conditions à l'intérieur des parenthèses dans le rendu SQL.OriginalL'auteur Jon
Est pas sûr, mais cela peut fonctionner:
=
de l'opérateur, de sorte que cela ne fonctionnera pas. Aussi, la méthode est le nom dewhereIn
, plutôt que dewhere_in
. Pourrait l'ai testé, au lieu d'écrire "pas sûr, mais cela peut fonctionner"...Votre commentaire est correct, bien sûr, mais il convient de noter que, si vous exécutez
whereIn('col', [null, ''])
sur unCollection
objet plutôt qu'un générateur de requêtes, est de travail. Exemple:$user->albums->whereIn('col', [null,'']);
. Notez l'utilisation de la magie relationnel propriétéalbums
, qui renvoie une collection, et pasalbums()
, qui renvoie un générateur de requête exemple.OriginalL'auteur Sim0n222