Gegeben eine Collection
von Eloquent Models
, die Arrayable
sind, wie bekomme ich ein Array dieser Objekte?Get Array von Modellen aus einer Laravel-Sammlung
Wenn ich ->toArray()
auf der Sammlung aufrufen, gibt es mir ein verschachteltes assoziatives Array, die Modelle zu zerstören.
Wenn ich es auf ein Array geworfen, bekomme ich das wirklich Seltsame:
array:1 [▼
"\x00*\x00items" => array:1 [▼
"temp" => HistorySeries {#374 ▼
#table: "history_series_hse"
#primaryKey: "id_hse"
#connection: "mysql"
+timestamps: false
<...snip...>
}
]
]
Dann gibt es noch, aber ich bin gefallen es nicht wirklich (es funktioniert):
$reflection = new ReflectionClass($coll);
$property = $reflection->getProperty('items');
$property->setAccessible(true);
$array = $property->getValue($coll);
Oder ich könnte es mit einer foreach-Schleife extrahieren, aber das ist hässlich. Irgendein schöner Weg?
Versuchen Sie '$ collection-> all()'? – ceejayoz
Haben Sie [each()] (https://laravel.com/docs/5.2/collections#method-each) versucht? –