问题描述
试图将变量从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 (将#修改为@)