Как добавить номер в коллекцию laravel?

Если я dd($items), результат, как это:

введите описание изображения здесь

Я хочу добавить номер в каждый массив

Итак, первый массив, существует номер ключа со значением 1

Второй массив, существует номер ключа со значением 2

так далее

Я пытаюсь так:

$items->map(function ($item) {
$item['number'] = 1;
return $item;
});

Количество не увеличивается. Я смущен, чтобы сделать счетчик

Как я могу решить эту проблему?

1

Решение

Вы можете попробовать это так

$newItems = $items->map(function ($item, $index) {
$item['number'] =  $index + 1;
return $item;
});

Редактировать: На основе комментариев (я не рекомендую это делать, потому что тогда вы не сможете воспользоваться преимуществами красноречивой модели. Она просто вернет вам массив)

$newItems = $items->map(function ($item, $index) {
$number = ['number' =>  $index + 1];
return $number + $item->toArray();
});
4

Другие решения

 $counter=1;
$items->map(function ($item) use(&$counter){
$item['number'] = $counter++;
return $item;
});
0

Вы можете использовать array_merge

$newItems = $items->map(function ($item, $index) {

return array_merge(array("number" =>  $index + 1), $item);;
});
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector