2017-05-07 3 views
0

ich habe:immer alle Elemente in der Sammlung mapWithKeys

$collection=Event::all(); 
$keyed = $collection->mapWithKeys(function ($item) { 
       return ['title' => $item['name'], 'start' => $item['event_date']]; 
    }); 

$keyed->all() ist nur letztes Element in der Auflistung mit geändertenen Schlüsseln Rückkehr:

Array 
(
    [title] => New Year 
    [start] => 2018-01-01 
) 

Wie bekomme ich alle Ereignisse mit geändertenen Schlüsseln?

+0

Was tun du bekommst, wenn du 'dd ($ collection-> toArray());' nach '$ collection = Event :: all(); – whoacowboy

+0

@whoacowboy 'dd ($ sammlung-> toArray());' gibt 'array: 3 [▼ 0 => array: 5 [▼ " id "=> 1 " name "=>" Elterntag " "event_date" => "2018-02-14" ] 1 => Feld: 5 [▼ "id" => 2 "name" => "Tag der Arbeit \ n" "event_date" => "2018 -05-01" ] 2 => Array: 5 [▼ "id" => 3 "name" => "New Year" "event_date" => "2018.01.01" ] ] 'while' dd ($ keyed-> toArray()); 'gibt nur das letzte Ereignis. – Steve

Antwort

1

Der Rückruf von mapWithKeys ein assoziatives Array zurück einen einzelnen Schlüssel/Wert-Paar conaining, wenn Sie also nur Namen und event_date brauchen ich so zupfen zu schlagen Gebrauch:

$collection=Event::pluck('event_date', 'name'); 
+0

Ich brauche 'title' und' start' als Array-Schlüssel anstelle von 'name' und' event_date' Attributen. – Steve

+0

$ array = Event :: select ('Name als Titel', 'Ereignis_Datum als Start') -> zupfen ('Name', 'Start'); – MohamedSabil83

Verwandte Themen