Laravel Factory ->each() 添加迭代器
Laravel Factory ->each() add iterator
我有一个工厂:
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() 函数?
我试图在循环体内添加变量,但不能像 for/foreach 那样工作。
有什么想法吗?
如果我答对了你的问题。
each 方法迭代集合中的项目并将每个项目传递给回调。如果您要为每个添加第二个参数,它将是当前元素的索引,稍后您可以在其中使用。
$collection->each(function ($item, $key) {
//
});
我有一个工厂:
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() 函数?
我试图在循环体内添加变量,但不能像 for/foreach 那样工作。
有什么想法吗?
如果我答对了你的问题。
each 方法迭代集合中的项目并将每个项目传递给回调。如果您要为每个添加第二个参数,它将是当前元素的索引,稍后您可以在其中使用。
$collection->each(function ($item, $key) {
//
});