首页 > 解决方案 > 如何在控制器中创建集合

问题描述

我需要创建一个数据集合,它将记录与 foreach 运行一样多的次数,发生在我身上的是我只记录上次运行 foreach 的数据。我该如何解决?

foreach($proposedphasesizes as $proposedphasesize)
{
    $customizations = $proposedphasesize->customizations()->get();
    $counter = $proposedphasesize->customizations()->count();

    foreach($customizations as $customization)
    {
        $labels = collect();
        //return $proposedphase . 'separador' . $proposedphasesize . 'separador' . $customization;
        if($customization['quantity'] != null)
        {
            $labels->push((object)  [
                "id" => $customization['quantity']
            ]);

        }
        else
            $labels->push((object)  [
                "id_1" => $customization['quantity']
            ]);
    }
}

标签: phpmysqllaravelmodel-view-controllerbootstrap-4

解决方案


您正在内部循环的每次迭代中创建一个新集合,因此该集合将仅包含来自该循环的一次迭代的数据。

您应该在循环之外创建集合,然后从循环内部添加到它。


推荐阅读