我被困住了......我试图让一组在 Laravel 6 中工作的工厂,不断收到以下错误:
InvalidArgumentException with message 'Unable to locate factory with name [default] [User].'
在这里和网络上还有其他几篇关于此的帖子,我已经尝试了所有这些解决方案。我的工厂代码如下:
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\Thread;
use Faker\Generator as Faker;
$factory->define(Thread::class, function (Faker $faker) {
return [
'user_id' => function () {
return factory('App\User')->create()->id;
},
'title' => $faker->sentence,
'body' => $faker->paragraph
];
});
我正在使用 php artisan tinker 尝试生成数据库条目,以便我可以处理我的其余模型等。我使用的命令如下:
factory('Thread',50)->create()
我尝试在工厂调用中指定名称空间,尝试将其放在双引号中,尝试在末尾添加 '::class'。控制器在那里,模型在那里,迁移按预期工作,但每次我在修补程序中运行工厂时,它都不会给我。我发现的大多数文档也引用了旧版本的 Laravel,所以我不确定它们是否为我提供了正确的语法。
值得注意的是,UserFactory 提供的库存也不起作用。这是我今天在 Laracasts 上的一门课程中重新下载的 Laravel 6。该课程较旧,专注于 Laravel 5.4,但我可以弄清楚转换......我只是无法让这个工作来挽救我的生命,我不知道为什么。
如果您想查看其他代码,我已将整个项目上传到此处:https ://github.com/aarpie100/laracasts_forum
帮助?