是什么原因导致此Laravel 8应用程序中的出厂格式未知错误? [英] What causes the 'Unknown format "factory"' error in this Laravel 8 app?

查看:0
本文介绍了是什么原因导致此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

问题:

  1. 我的错误在哪里?
  2. 我收到错误这一事实是否意味着我需要 是否创建UserFactory工厂?因为根本就没有。)我想 创建帖子,而不是用户)。

推荐答案

我认为没有$this->faker->factory(..)

您可以

'user_id' => AppModelsUser::factory()->create()->id,

编辑: 'user_id' => AppModelsUser::factory(),

这篇关于是什么原因导致此Laravel 8应用程序中的出厂格式未知错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆