【问题标题】:Laravel 8: Call to undefined function factory() [duplicate]Laravel 8:调用未定义的函数工厂()
【发布时间】:2021-05-10 11:36:37
【问题描述】:

我想在 Factory 中使用一些虚假数据,所以在我的 ArticleFactory 添加了这个:

public function definition()
    {
        return [
            'title' => $faker->text(50),
            'slug' => $faker->slug(),
            'body' => $faker->paragraph(rand(5,20)),
        ];
    }

然后在web.php 我添加了这个:

use App\Models\Article;
Route::get('/', function () {
    factory(Article::class,10)->create();
});

但现在我得到了这个错误:

错误调用未定义的函数 factory()

那么这里出了什么问题?我该如何解决?

【问题讨论】:

  • 在 Laravel 8 中,工厂助手不再可用。您的 Thread 模型类应该使用 HasFactory 特征,然后您可以使用您的工厂。但是,如果你更喜欢使用 Laravel 7.x 风格的工厂,你可以使用包 laravel/legacy-factories 你可以用 composer 安装它:composer require laravel/legacy-factories

标签: php laravel laravel-8


【解决方案1】:

在 Laravel 8 中,工厂助手不再可用。您的 Thread 模型类应该使用 HasFactory 特征,然后您可以使用您的工厂。

改为:

\App\Models\Article::factory()->count(10)->create();

不过,如果你更喜欢使用 Laravel 7.x 风格的工厂,你可以使用 laravel/legacy-factories 包你可以用 composer 安装它:

composer require laravel/legacy-factories

【讨论】:

  • 我之前不知道 laravel/legacy-factories,谢谢
猜你喜欢
  • 2021-07-26
  • 2021-07-03
  • 2021-04-19
  • 2021-03-25
  • 2021-08-05
  • 2021-11-26
  • 1970-01-01
  • 2021-01-14
  • 2021-06-15
相关资源
最近更新 更多