调用未定义的函数 factory()

问题描述

环境:Laravel Framework Lumen (8.2.2) (Laravel Components ^8.0)

当我跑步时

$blogs = factory('App\Blog',2)->create();

BlogsControllerTest.PHP中,显示

调用未定义的函数 factory()

解决方法

正如 Laravel 的 upgrade guide 所说,模型工厂已更改。 新的方式是这样的App\Models\Blog::factory()->count(3)->create();

使用旧版本的引用指向 documentation

然而,为了简化升级过程,我们创建了一个新的 laravel/legacy-factories 包,以便在 Laravel 8.x 中继续使用现有的工厂

要安装它,请使用 composer composer require laravel/legacy-factories

,

回答我自己的问题,以防它对某人有帮助。

它也是这样工作的。

$blogs = BlogFactory::new()->count(2)->create();

参考:laravel.com/docs/8.x/database-testing#connecting-factories-and-models