加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 如何在具有指定键的元素之后在Laravel集合中插入元素?

发布时间:2020-12-14 19:42:58 所属栏目:大数据 来源:网络整理
导读:我希望在具有特定键的另一个元素之后插入一个元素到Laravel集合中.就像是: $收藏 – 得到(5) – insertAfter($someElement) 顺序很重要,因为我将在视图中稍后使用它来输出HTML.我查看了API并找不到合适的方法.我正在做的基本上是一个评论系统,我正在尝试添
我希望在具有特定键的另一个元素之后插入一个元素到Laravel集合中.就像是:

$收藏 – >得到(5) – > insertAfter($someElement)

顺序很重要,因为我将在视图中稍后使用它来输出HTML.我查看了API并找不到合适的方法.我正在做的基本上是一个评论系统,我正在尝试添加回复其他评论的评论.

这可行吗?我正在使用Laravel 4.2.我也在考虑做很多拼接和合并,但这似乎是非常可怕的性能.

有什么建议?谢谢.

解决方法

您可以使用 – > splice().
代码如下所示:
$collection-> splice(5,[$someElement]);
它会将$someElement插入第6位.

Laravel 5.2版

如果您需要在id == 5的元素后面插入元素,那么您必须搜索该元素,然后使用found index插入新元素:

$index = $collection->search(function ($item,$key) {
        return $item->id == 5;
    });
    $collection->splice($index,[$someElement]);

Laravel 4.2版

不幸的是,Laravel 4.2不接受搜索参数作为闭包,所以我们必须手动找到索引:

$foundKey = null;
    foreach ($collection->all() as $key => $item) {
        if ($item->id == 5) {
            $foundKey = $key;
            break;
        }
    }
    if($foundKey !== null)
    {
        $collection->splice($index,[$someElement]);
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读