是什么原因导致此Laravel 8应用程序中的出厂格式未知错误?
我正在开发一款具有用户和帖子的Laravel 8应用程序。
目标是创建一组帖子(我已经有用户)。
namespace DatabaseFactories;
// import Post model
use AppModelsPost;
// import User model
use AppModelsUser;
use IlluminateDatabaseEloquentFactoriesFactory;
class PostFactory extends Factory {
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Post::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition() {
return [
'title' => $this->faker->sentence(3),
'description' => $this->faker->text,
'content' => $this->faker->paragraph,
'user_id' => $this->faker->factory(AppModelsUser::class),
];
}
}
问题
我在终端运行php artisan tinker
然后Post::factory()->count(100)->create()
,得到:
InvalidArgumentException with message 'Unknown format "factory"'
更新
我将我的返回语句替换为:
return [
'title' => $this->faker->sentence(3),
'description' => $this->faker->text,
'content' => $this->faker->paragraph,
'user_id' => User::factory(),
];
我在终端上看到了这个:
Class 'DatabaseFactoriesUserFactory' not found
问题:
- 我的错误在哪里?
- 我收到错误这一事实是否意味着我需要
是否创建
UserFactory
工厂?因为根本就没有。)我想 创建帖子,而不是用户)。
解决方案
我认为没有$this->faker->factory(..)
。
您可以
'user_id' => AppModelsUser::factory()->create()->id,
编辑:
'user_id' => AppModelsUser::factory(),
相关文章