2017-06-14 5 views
4

Wie kann ich neues Feld in jedem Element hinzufügen, habe ich put() verwendet, aber es nur auf das letzte Element hinzufügen.Laravel wie ein neues Feld in Abfrageergebnis hinzufügen

return self::where('latest', 1) 
      ->where('competitionId',$competitionId) 
      ->orderBy('won','desc') 
      ->orderBy('teamName','asc') 
      ->get(['teamName','played','won','lost','percentage', 'streak']) 
      ->put('test', ['123', '345']) 
      ->toJson(); 

Ergebnis:

{ 
"0": {"teamName": "A"}, 
"1": {"teamName": "B"}, 
"2": {"teamName": "C", "test": ['123', '345']}, 
} 

Erwartete Ausgabe: Array:

{ 
"0": {"teamName": "A", "test": "qwerty"}, 
"1": {"teamName": "B", "test": "qwerty"}, 
"2": {"teamName": "C", "test": "qwerty"}, 
} 

Antwort

5

Sie map()

->map(function ($item) { 
    $item['test'] = ['123', '345']; 
    return $item; 
}); 
+0

Sammlung {# 389 ▼ #items können 8 [▼ 0 => null 1 => null 2 => null 3 => null 4 => null 5 => null 6 => null 7 => null ] } – PenAndPapers

+0

er alle Artikel zurückkehrt dreht null – PenAndPapers

+0

Ich foget das 'return $ item'; –

Verwandte Themen