试图将变量从DatabaseSeeder传递到Laravel 8中的工厂;有新语法吗?

问题描述

试图将变量从DatabaseSeeder传递到Laravel 8中的工厂;有新语法吗? 我需要通过foreach遍历我的用户。我看到了很多将变量作为数组传递给工厂的示例

// DatabaseSeeder.php
foreach ($users as $user) {
$round = Round::factory()->create(['user' => $user,]);
}

我也看到了这个:

$round = Round::factory()->create($user);

这些例子大多数都已经有好几年了,但其中一个是19年9月。但是,这两种方法都不适合我。我得到:

// Terminal: php artisan db:seed
Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Undefined variable: user",…

我的foreach循环肯定会产生有效的$ user(通过dd($ user)确认)。我的工厂定义看起来像这样:

// RoundFactory.php
return [
    'user_id' => $user,'other_field' => $this->faker-> …something,other fields …
]

那么还有其他方法可以做到这一点吗?谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)