2016-06-23 8 views
0

Ich möchte Daten aus vielen Dateien laden. Jede Datei wird mit einem Datum benannt, und ich muss dieses Datum jedem der abgerufenen Einträge meiner Datei hinzufügen. Ich weiß, dass ich dies mit einer foreach - Schleife machen könnte, bevor ich die Daten in die Sammlung einfüge, aber ich denke, es sollte eine bessere Lösung geben.Hinzufügen eines Werts zu Sammlungselementen

Inhalt einer Datei

[{"price":"95,34","isin":"FR0000120073"},{"price":"113,475","isin":"CA13645T1003"}] 

Der Kodex ich die Daten in eine Sammlung verschieben verwenden.

$collection= collect(json_decode(File::get($file))); 

ich zum Beispiel versucht, die „Karte“ Methode, aber ich weiß nicht, wie eine zusätzliche Variable auf die anonyme Funktion zu übergeben.

Der Inhalt meiner Sammlung soll wie folgt aussehen:

[{"price":"95,34","isin":"FR0000120073","date":"2016-06-23"},{"price":"113,475","isin":"CA13645T1003","date":"2016-06-23"}] 

Gibt es eine einfache Lösung, die Sammlungen mit oder habe ich eine foreach-Schleife benutzen?

Antwort

0

Kann dies

$collection = collect(json_decode(File::get($file))); 

$collection = $collection->each(function ($item, $key) { 
    //First iteration of $item will be {"price":"95,34","isin":"FR0000120073"} 
    $item->date = "2016-06-23"; //Insert key, value pair to the collection 
    }); 
+0

helfen muss ich das Datum dynamisch festgelegt, so habe ich eine Variable auf diese Funktion zu übergeben. –

+0

Ich hatte eine Idee und benutzte eine globale Variable. Dies ist jedoch nur ein Workaround, keine echte Lösung. –