使用忘记后,收集方法值未重置数组键

时间:2019-07-01 17:39:44

标签: php arrays laravel

我在对象数组中有一个嵌套的对象数组。

Pages hasMany sections

我试图取消嵌套部分并重置其数组键,但无济于事。

foreach ($pages as $pageKey => &$page) {
    foreach ($page->sections as $sectionKey => $section) {

        // Remove sections with no questions 
        if ($section->questions->count() < 1) {
            $page->sections->forget($sectionKey);
        }
    }

    $page->sections = $page->sections->values()->all();
}

但是,分区键没有被重置。

enter image description here

1 个答案:

答案 0 :(得分:0)

(我想)您要尝试做的是将所有Page个与Section个具有至少Comment个的$pages = Pages::with(['sections' => function ($query) { $query->has('comments'); }]) ->get(); s一起使用。为了完成此操作,您可以在一个查询中完成此操作:

Section

有了这个,您就渴望加载与每个Page相关的% git log --format='%H' -n5 4f4716883559a9e8e17e37a02ec4face77b1b5f3 08b3f398e2c63a83d02e0279ffa3f156c2631828 5e38051582e898d317a4906e4ff85377d71764bd 424ab5eaf924d2d4ead36c91847ef3df18f7fa64 f402ef630d9ee5755ceb9059d9627b3e9fb64d63 ,而只是加载至少链接有一个Comment的那些。


您可以查看与此主题相关的文档:

相关问题