为什么我的Laravel工厂无法找到我的型号?

时间:2017-12-04 23:16:14

标签: php laravel

我使用artisan make:model command创建了一个商业模型,一个模型工厂和一个种子方法。运行我的种子方法时,我收到以下错误:

  

InvalidArgumentException无法找到名称为[factory]的工厂   [应用\商业]。

有人能告诉我我做错了吗?

商业模式:

namespace App;
use Illuminate\Database\Eloquent\Model;

class Business extends Model
{
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name'
    ];

    public function resources()
    {
        return $this->hasMany('App\Resource');
    }

}

商业工厂

use Faker\Generator as Faker;

$factory->define(Business::class, function (Faker $faker) {
    return [
        'name' => $faker->company,
    ];
});

播种方法

$business = factory(App\Business::class, 50)
                   ->create()
                   ->each(function ($u) {
                        $u->resources()->save(factory(App\Resource::class)->make());
                    });

1 个答案:

答案 0 :(得分:0)

请尝试composer dump-autoload

有时候,在这种情况下会有所帮助。

确保在宣布此类工厂时:$factory->define(Business::class,...您的Business类已正确导入,或考虑将其更改为App\Business