如何将项添加到Laravel eloquent集合的特定索引中

时间:2017-10-19 19:53:22

标签: laravel-5 laravel-eloquent

我想在分页的集合中添加一个项目。

return Entries::online()->orderBy('updated_at','desc') ->paginate(12);

但我希望它始终在第三个索引上。 我知道如何在集合的末尾添加一个条目,但是如何将它放在特定的索引上。 任何想法都非常感谢!

1 个答案:

答案 0 :(得分:0)

我认为不可能。

一种解决方案是在索引处拼接您的集合,然后创建新集合,在索引之前复制集合,添加新项目,最后将集合的其余部分复制到新集合中。

$afterIndex = $newsItems->splice($index);
$newItensCollections = $newsItems;
$newItensCollections->prepend($yourNewItem);
$newItensCollections->union($afterIndex);

拼接:https://laravel.com/docs/5.5/collections#method-splice

前置:https://laravel.com/docs/5.5/collections#method-prepend

要复制数组:https://laravel.com/docs/5.5/collections#method-union