如何在收藏laravel中添加数字?

时间:2018-08-04 08:03:36

标签: php laravel collections counter laravel-5.6

如果我dd($items),则结果如下:

enter image description here

我想为每个数组添加数字

所以第一个数组存在键值为1的键号

第二个数组,存在值为2的键号

我这样尝试:

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

数量没有增加。我很困惑要柜台

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

您可以这样尝试

$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();
});

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以使用array_merge

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

  return array_merge(array("number" =>  $index + 1), $item);;
});