Dans Laravel, il est possible de sélectionner un seul champ et de le retourner sous la forme d'un ensemble/tableau.
Par exemple, considérons le modèle Foo
qui est lié à la table foos
qui a le champ id
, a
, b
, c
.
Examinez les exemples de données suivants:
(1, 10, 15, 20)
(1, 12, 15, 27)
(1, 17, 15, 27)
(1, 25, 16, 29)
(1, 28, 16, 40)
Maintenant, si je voulais créer une requête qui retourne toutes les valeurs de a
où b
est 15
, je pourrais le faire comme suit:
Foo::select('a')->where('b', 15)->get();
Cependant, cela rendra une collection éloquente.
À la place, comment puis-je retourner un tableau comme celui-ci:
[10, 12, 17]
Il suffit d'utiliser pluck()
et ->toArray()
:
Foo::where('b', 15)->pluck('a')->toArray();
Faire
Foo::where('b', 15)->lists('a')->all();
Cela vous donnera un tableau d'identifiants. par exemple [2, 3, 5]