Mysql
 sql >> Base de données >  >> RDS >> Mysql

Laravel :obtenir une valeur unique à partir d'une requête MySQL

encore une autre modification :A partir de la version 5.2 pluck n'est pas obsolète, il vient d'avoir un nouveau comportement (identique aux lists précédemment - voir la note ci-dessous):

modifier :A partir de la version 5.1 pluck est obsolète, alors commencez à utiliser value à la place :

DB::table('users')->where('username', $username)->value('groupName');    
// valid for L4 / L5.0 only
DB::table('users')->where('username', $username)->pluck('groupName');

cela renverra une valeur unique de groupName champ de la première ligne trouvée.

SIDE NOTE reg. Commentaire de @TomasButeler :Comme Laravel ne suit pas les versions sensées, il y a parfois des cas comme celui-ci. Au moment d'écrire cette réponse, nous avions pluck méthode pour obtenir une valeur UNIQUE à partir de la requête (Laravel 4.* &5.0).

Puis, avec L5.1 pluck est devenu obsolète et, à la place, nous avons obtenu value méthode pour le remplacer.

Mais pour que ce soit drôle, pluck en fait n'a jamais disparu. Au lieu de cela, il a juste un comportement complètement nouveau et... des lists obsolètes method.. (L5.2) - cela a été causé par l'incohérence entre les méthodes Query Builder et Collection (dans 5.1 pluck travaillé différemment sur la collection et la requête, c'est la raison).