首页 > 解决方案 > Laravel 8:调用未定义的函数工厂()

问题描述

我想在 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();
});

但现在我得到这个错误:

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

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

标签: phplaravellaravel-8

解决方案


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

改成 :

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

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

composer require laravel/legacy-factories

推荐阅读