2016-08-18 4 views
1

Laravel hat eine Methode returens eine Antwort wie key=>value Array.benutzerdefinierte Listen() -Methode in Laravel 5

$users = User::lists('name', 'id')->all(); 

wenn ich will Listen anpassen key als eine Kombination von name und username, zurückzukehren, wie shoud i Code?

Ich habe auch versucht

$users = User::lists('name'.'username', 'id')->all(); 

aber es funktioniert nicht: |

Gibt es eine alternative Methode?

+0

Und was möchten Sie Wert für diese Schlüssel sein? – mmmm

+0

Ich möchte den Schlüsselwert besteht aus 'Name' und 'Benutzername' Spalte, nicht nur Name .... – Sami

+0

Ok Schlüssel ist Name und Benutzername. Aber was mit Wert? Wissen Sie, Array besteht aus 'Schlüssel' =>' Wert'?;) – mmmm

Antwort

1

Es gibt keine Brauch ist pluck() Methode (nicht verwenden lists() da es veraltet ist). Aber Sie können Ihre eigene Helfer oder eine Methode mit diesem Code erstellen:

$allUsers = User::all(); 

$users = []; 

foreach ($allUsers as $user) { 
    $users[$user->id] = $user->name.' '.$user->username; 
} 
0

die Sie interessieren,

$users = User::lists('name', 'id'); 
+0

Kann der Schlüsselparameter aus der Spalte "Name" und "Benutzername" bestehen? – Sami

+0

@Sami ja benutze benutzername statt id oder irgendein schlüssel kann verwendet werden –

+0

ich will den wert sein die ID coluemn und key parameter 'username' + 'name' – Sami

0

versuchen dies,

$users = User::pluck('name','id'); 

Wie in Laravel 5.2.0 Listen() aufgegeben wurde, wurde es durch zupfen Verfahren ersetzt .