如何通过索引将项目添加到Laravel Eloquent Collection中?

rot*_*rcz 4 php collections laravel eloquent

我尝试了以下但它不起作用.

$index = 2;
$collection->put($index, $item4);
Run Code Online (Sandbox Code Playgroud)

例如,如果$ collection看起来像这样:

$collection = [$item1, $item2, $item3];
Run Code Online (Sandbox Code Playgroud)

我想最终得到:

$collection = [$item1, $item2, $item4, $item3];
Run Code Online (Sandbox Code Playgroud)

Joe*_*inz 9

最简单的方法可能是拼接它,如下所示:

$collection->splice(2, 0, [$item4]);
Run Code Online (Sandbox Code Playgroud)

集合通常支持与常规PHP数组相同的功能.在这种情况下,它是在幕后使用的array_splice()函数.

通过将第二个参数设置为0,您实质上告诉PHP"转到数组中的索引2,然后删除0个元素,然后插入我刚才提供的元素".