Php 无法找到名为[默认值][Modules\Brokerquotes\Entities\insureee]的工厂
我肯定有一个工厂Php 无法找到名为[默认值][Modules\Brokerquotes\Entities\insureee]的工厂,php,laravel-5.3,artisan-migrate,Php,Laravel 5.3,Artisan Migrate,我肯定有一个工厂 $factory->define(Modules\Brokerquotes\Entities\Insuree::class,.... 在一个数据库里,我有 factory("Modules\\Brokerquotes\\Entities\\Insuree", 5)->create()-> ...... 但是,当我试图直接使用php artisan db:seed--class=..调用seeder类时,我得到了主题错误 无法找到名为[默认值][Module
$factory->define(Modules\Brokerquotes\Entities\Insuree::class,....
在一个数据库里,我有
factory("Modules\\Brokerquotes\\Entities\\Insuree", 5)->create()-> ......
但是,当我试图直接使用php artisan db:seed--class=..
调用seeder类时,我得到了主题错误
无法找到名为[默认值][Modules\Brokerquotes\Entities\insureee]的工厂
我已尝试编写器转储自动加载
,但仍然不起作用
我只是需要不时地运行一些单独的播种机
我在这里做错了什么???考虑到我假设您正在使用的名称空间,并且您已经将被保险人模型工厂放在模块的工厂目录中。这将不起作用,因为默认情况下,模型工厂的查找固定为
数据库路径(“工厂”)
,请参见Factory类中的以下内容:
/**
* Create a new factory container.
*
* @param \Faker\Generator $faker
* @param string|null $pathToFactories
* @return static
*/
public static function construct(Faker $faker, $pathToFactories = null)
{
$pathToFactories = $pathToFactories ?: database_path('factories');
return (new static($faker))->load($pathToFactories);
}
将模块工厂移动到项目的工厂目录:
<PROJECT>/
├── database/
│ └── factories/
│ └── InsureeFactory.php
└── Modules/
Artisan命令:
php artisan db:seed --class=Modules\\Brokerquotes\\Database\\Seeders\\BrokerquotesDatabaseSeeder
给定名称空间,我假设您正在使用,并且已将被保险人模型工厂放在模块的工厂目录中。这将不起作用,因为默认情况下,模型工厂的查找固定为
数据库路径(“工厂”)
,请参见Factory类中的以下内容:
/**
* Create a new factory container.
*
* @param \Faker\Generator $faker
* @param string|null $pathToFactories
* @return static
*/
public static function construct(Faker $faker, $pathToFactories = null)
{
$pathToFactories = $pathToFactories ?: database_path('factories');
return (new static($faker))->load($pathToFactories);
}
将模块工厂移动到项目的工厂目录:
<PROJECT>/
├── database/
│ └── factories/
│ └── InsureeFactory.php
└── Modules/
Artisan命令:
php artisan db:seed --class=Modules\\Brokerquotes\\Database\\Seeders\\BrokerquotesDatabaseSeeder
我解决了同样的问题,更“标准”的解决方案是: 在[ModuleName]ServiceProvider.php中添加
RegisterFactorys
函数,如下所示:
public function boot()
{
$this->registerFactories();
...
...
}
并定义它:
public function registerFactories()
{
if (! app()->environment('production')) {
app(\Illuminate\Database\Eloquent\Factory::class)->load(__DIR__ . '/../Database/Factories');
}
}
我解决了同样的问题,更“标准”的解决方案是: 在[ModuleName]ServiceProvider.php中添加
RegisterFactorys
函数,如下所示:
public function boot()
{
$this->registerFactories();
...
...
}
并定义它:
public function registerFactories()
{
if (! app()->environment('production')) {
app(\Illuminate\Database\Eloquent\Factory::class)->load(__DIR__ . '/../Database/Factories');
}
}