laravel фабрики внутри модулей nwidart - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь использовать 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

1 Ответ

1 голос
/ 02 апреля 2020

Вам необходимо передать генератор Faker в первом аргументе, см .: https://laravel.com/api/5.5/Illuminate/Database/Eloquent/Factory.html#method_construct

return Factory::construct(\Faker\Factory::create(), __DIR__ . '/Database/factories');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...