无法从我的Laravel插件播种数据

时间:2018-08-13 06:26:46

标签: laravel plugins seed

我开发了一个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/"
  ]
},
…

我在做什么错了?

1 个答案:

答案 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中添加另一个条目,但可能不清楚。