我开发了一个Laravel插件,其中包含种子数据:https://github.com/xoco70/laravel-tournaments
当我尝试将其植入新的laravel 5.6项目中时,使用:
php artisan db:seed --class=LaravelTournamentSeeder
我得到:
ErrorException : include(/Users/julien/Documents/Proyectos/test/vendor/composer/../../database/seeds/LaravelTournamentSeeder.php): failed to open stream: No such file or directory
当我尝试使用:
为所有种子文件命名空间时 namespace Xoco70\LaravelTournaments\Database\Seeds;
然后用
破坏它 php artisan db:seed --class=Xoco70\\LaravelTournaments\\Database\\Seeds\\LaravelTournamentSeeder
我也收到一个错误:
ReflectionException : Class Xoco70\LaravelTournaments\Database\Seeds\LaravelTournamentSeeder does not exist
在我的插件中,我的composer.json是:
…
"autoload": {
"psr-4": {
"Xoco70\\LaravelTournaments\\": "src"
},
"classmap": [
"src/"
]
},
…
我在做什么错了?
答案 0 :(得分:1)
我可以在GitHub代码中看到t he seeder class is not namespaced neither the other seeding files。缺少的一点是将数据库相关的代码移到撰写器中psr-4条目之后的“ src”下:
"psr-4": {
"Xoco70\\LaravelTournaments\\": "src"
},
另一种选择是在psr-4中添加另一个条目,但可能不清楚。