2016-09-30 3 views
0

Ich versuche, ein Array mit Laravel zu erstellen, aber einige der Werte anzupassen.Laravel Array erstellen

Zum Beispiel, wenn ich $user->rounds zurückkehren würde dies zurückkehren

"data": [ 
    { 
     "id": 3, 
     "name": "sample name" 
    }, 
    { 
     "id": 4, 
     "name": "sample name 2" 
    } 
] 

ich die Rückkehr zu so etwas wie

"data": [ 
    { 
     "id": 3, 
     "name": "sample name", 
     "extra": "Extra Detail" 
    }, 
    { 
     "id": 4, 
     "name": "sample name 2", 
     "extra": "Extra Detail" 
    } 
] 

Ich versuche, es zu tun, durch die folgende anpassen möchten code:

$data = array(); 

foreach ($user->rounds as $r) { 
    $data = [ 
     'id' => $r->id, 
     'name' => $r->name, 
     'extra' => 'Test Extra' 
    ]; 
} 

return $data; 

Aber es gibt nur eine Runde zurück, während es zurückgegeben werden sollte ng 3.

+5

Sie überschreiben '$ data' auf jeder Schleife zu tun. Ich nehme an, Sie wollten '$ data [] = ...' bemerken die zusätzlichen '[]' nach Daten. – Andrew

Antwort

1

müssen Sie Array mit jeder Iteration $data Array hinzuzufügen:

Auch Sie array_push() Funktion dafür verwenden könnte.

0

Versuchen Sie, wie dieser

$data = array(); 
$i=0; 
foreach($user->rounds as $r){ 
    $data[$i] = [ 
    'id' => $r->id, 
    'name' => $r->name, 
    'extra' => 'Test Extra' 
    ]; 
    $i++; 
} 
return $data;