Обновить значение Laravel Collection
$collection = collect([
[
'name' => 'Test1',
'text' => 'Text1',
'year' => '2020'
],
[
'name' => 'Test2',
'text' => 'Text2',
'year' => '2020'
],
[
'name' => 'Test3',
'text' => 'Text3',
'year' => '2020'
]
]);
Имеется данная коллекция, как можно заменить 'Text2' так, чтобы сохранился ключ[1] этой записи?
Ответы (2 шт):
Автор решения: user9519595
→ Ссылка
Illuminate\Support\Collection имплементирует интерфейс ArrayAccess, поэтому просто попробуйте обратитъся к ключу объекта как к массиву $collection[1]['text'] = 'your value';.
Автор решения: ANDREW_FROST
→ Ссылка
Нашёл решение:
$newCollection = $collection->map(function ($item, $index) {
if ($index == 1) {
$item['text'] = 'New Text2';
}
return $item;
});