Laravel 5.2 pluck () multiples attributs de Eloquent Model Collection
Laravel 5.2 a de très jolies Aides, je voudrais les utiliser pour effectuer les opérations suivantes:
J'ai Éloquent Collection Modèle:
$lesson->users(); //returns Eloquent collection of 3 users
pluck()
fonction serait utile, mais il peut obtenir un seul paramètre. Cependant je veux obtenir une sortie avec deux paramètresid
et name
comme ceci:
[
1=>['id'=>10,'name'=>'Michael Dook'],
2=>['id'=>16,'name'=>'Henry Babcock'],
3=>['id'=>19,'name'=>'Joe Nedd']
]
Est-il une solution élégante pour cela?
source d'informationauteur Fusion
Vous devez vous connecter pour publier un commentaire.
Je sais que ce n'est pas la plus récente de la question, mais au cas où quelqu'un trébuche sur elle à partir de google plus tard, voir le Seule La Méthode De Collecte De
$lesson->users()->only("id", "name")->toArray();
devrait être ce que vous êtes après.Essayez ceci:
L'arracher() fonction d'assistance prend un deuxième paramètre. Il va retourner un tableau associatif puis, lorsque le deuxième paramètre définit la clé. Ainsi, vous obtiendrez un résultat de
key => value
paires.Comme vous le savez que vos entrées se composent de l'id et le nom, cela pourrait peut-être aider:
Ce sera de retour:
Je ne suis pas sûr de Laravel 5.2, mais ceci fonctionne dans Laravel 5.5
Dans le cas où si quelqu'un veut "arracher" de plusieurs attributs et de la clé (l'exemple est fourni par le champ "nom", "valeur" est l'élément lui-même - il changer pour obtenir éventail de caractéristiques qui vous intéresse):