Laravel 5:如何将播种机类添加到自动加载?

时间:2014-12-11 15:16:17

标签: php laravel namespaces laravel-5

我按照文档:http://laravel.com/docs/master/migrations#database-seeding

我将UserTableSeeder文件放在DatabaseSeeder附近。在resources/database/seeds/文件夹中。
这些文件没有名称空间(只有app/中的类是名称空间的。)

当然有一个例外:exception 'ReflectionException' with message 'Class UserTableSeeder does not exist'

解决此问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:12)

默认的Laravel 5项目在composer.json

中定义了一个类图
{
    // ...
    "autoload": {
        "classmap": [
            "database"
        ],
        // ...
    }
}

每次在composer dump目录中添加或删除类以运行database以更新Composer自动加载器


参考:https://github.com/laravel/laravel/blob/develop/composer.json

答案 1 :(得分:0)

您应该使用composer dump-autoload命令。从文档中:

  

编写播种器后,可能需要使用dump-autoload命令重新生成Composer的自动加载器:

     

composer dump-autoload

参考here