【问题标题】:laravel factories inside nwidart modulesnwidart 模块中的 laravel 工厂
【发布时间】: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 行

【问题讨论】:

    标签: laravel laravel-factory


    【解决方案1】:

    您需要在第一个参数中传递 Faker 生成器,请参阅:https://laravel.com/api/5.5/Illuminate/Database/Eloquent/Factory.html#method_construct

    return Factory::construct(\Faker\Factory::create(), __DIR__ . '/Database/factories');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-21
      • 2021-11-10
      • 2019-06-13
      • 1970-01-01
      • 2020-10-29
      • 2016-11-01
      • 2018-06-13
      • 1970-01-01
      相关资源
      最近更新 更多