как создать коллекцию в контроллере

#php #mysql #laravel #model-view-controller #bootstrap-4

#php #mysql #laravel #модель-представление-контроллер #bootstrap-4

Вопрос:

Мне нужно создать коллекцию данных, которая будет записываться столько раз, сколько выполняется 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']
            ]);
    }
}
  

Ответ №1:

Вы создаете новую коллекцию на каждой итерации внутреннего цикла, поэтому в коллекции будут только данные из одной итерации этого цикла.

Вы должны создать коллекцию вне циклов и просто добавить к ней изнутри циклов.