【发布时间】:2020-07-14 08:47:02
【问题描述】:
我正在尝试在模块中使用 laravel 工厂。
我像这样在控制器内部调用工厂
$ar_reference = factory(ArReference::class)->create();
这是我的工厂。
use App\Models\ArReference;
use Faker\Generator as Faker;
$factory->define(ArReference::class, function (Faker $faker) {
return [
'reference_no' => 'My Ar'
];
});
我在我的模块 ServiceProvider ArServiceProvider 内部像这样调用工厂 registerFactories() 函数。
public function registerFactories() {
$this->app->singleton(Factory::class, function () {
return Factory::construct(__DIR__ . '/Database/factories');
});
}
但不幸的是,我遇到了这个错误
参数 1 传递给 Illuminate\Database\Eloquent\Factory::construct() 必须是 Faker\Generator 的实例,给定字符串,调用 /var/www/Modules/Ar/Providers/ArServiceProvider.php 第 94 行
【问题讨论】: