Encore un pense-bête qui peut servir à d’autres.

Dans une table dont les valeurs vides ne sont pas nulles mais vides, c’est à dire de cette nature ->  » (rien entre deux quotes), je souhaite poser comme condition de ne pas prendre en compte ces valeurs.

La manoeuvre est simple, il faut juste échapper les quotes :

->where('champ != \'\'')

pour que ça fonctionne. Si vous tentez les guillemets, vous vous collerez une erreur.

Egalement, et c’est mon cas, la valeur champ est passée en paramètre pour utiliser plusieurs fois la même méthode d’appel à la requête. Même procédé, en positionnant le champ comme variable :

->where($champ.' != \'\'')

Enfin, si votre champ n’est pas vide mais NULL, il faut ruser tout doucement l’active record qui ne prend pas ISNULL en faisant

->where($champ.' !=', null, false)
A lire aussi
Comment réinitialiser le mot de passe super-utilisateur PostgreSQL

Laisser un commentaire