Laravel 5.2 hat ziemlich nett Helfer, würde Ich mag sie verwenden, um folgende Arten zu tun:Laravel 5.2 zupfen() mehrere Attribute von Eloquent Model Collection
I Eloquent Model Collection haben:
$lesson->users(); // returns Eloquent collection of 3 users
pluck()
Funktion wäre nützlich, aber es kann nur einzelne Parameter erhalten. Allerdings möchte ich Ausgabe mit zwei Parameter erhalten, id
und name
, wie folgt aus:
[
1=>['id'=>10,'name'=>'Michael Dook'],
2=>['id'=>16,'name'=>'Henry Babcock'],
3=>['id'=>19,'name'=>'Joe Nedd']
]
Gibt es eine elegante Lösung für dieses?
In Laravel 5.2 führt dies entweder zu 'Aufruf zu undefinierter Methode Illuminate \ Database \ Query \ Builder :: only() 'Fehler beim Aufruf von' users() 'oder gibt leere Sammlung für' Benutzer' (ohne Klammern) – Paul
Do you hast du schon eine Beziehung aufgebaut? Dies funktioniert in 5.2 gut, da ich es bereits in dieser Version getestet habe. – Blake
Sind Sie sicher, dass Sie es in '5.2' getestet haben? Nach näherem Hinsehen funktioniert das nicht in '5.2.45' ...' Arr :: only' Methode, die sowohl 'Illuminate \ Support \ Collection' als auch' Illuminate \ Database \ Eloquent \ Collection' intern nur die oberste Ebene überprüft Schlüssel. Angenommen, 'users()' in dem Beispiel ist nur eine normale Methode und keine Beziehung, denn dann habe ich keine Ahnung was los ist :) – Paul