2016-06-23 2 views
0

Я хочу загрузить данные из многих файлов. Каждый файл имеет имя с датой, и мне нужно ввести эту дату в каждую из выбранных записей моего файла. Я знаю, что смогу сделать это с помощью петли foreach, прежде чем вставлять данные в коллекцию, но я думаю, что должно быть лучшее решение.Добавление значения в элементы коллекции

Содержание один файл

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

Кодекс я использую, чтобы переместить данные в коллекцию.

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

Я попытался, например, «карта» метод, однако я не знаю, как передать дополнительную переменную в анонимной функции.

Содержание моей коллекции должно выглядеть следующим образом:

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

Есть ли простое решение с использованием коллекций или я должен использовать Еогеасп-цикл?

ответ

0

Может быть, это поможет

$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

Я должен динамически установить дату, так что я должен передать переменную в эту функцию. –

+0

У меня возникла идея и использовалась глобальная переменная. Тем не менее это всего лишь обходное решение, не являющееся реальным решением. –

Смежные вопросы