Laravel Factory -> each () добавить итератор - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть фабрика:

    factory(Survey::class, 3)->create()->each(function ($survey)
    {
        factory(Question::class, 1)
            ->create()
            ->each(function ($question)
            {   
                factory(Option::class, rand(2,3))->create();
            });
    });

Проблема в том, что мне нужно добавить index к каждой опции.Должно быть 1,2,3 ... Как я могу добавить итератор к функции -> each ()?Я пытался добавить переменные внутри тела цикла, но не работает, как для / foreach один.

Любые идеи?

1 Ответ

0 голосов
/ 11 сентября 2018

Если я правильно понял ваш вопрос.

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

$collection->each(function ($item, $key) {
    //
});

https://laravel.com/docs/5.7/collections#method-each

...