欢迎光临
我们一直在努力

laravel的 db:seed 保存,[ReflectionException] Class AdminUsersTableSeeder does not exist

今天使用了下 seeder 来填充数据,常用的几个命令:
填充器默认路径:
database/seeders/
系统自带:
DatabaseSeeder.php
填充器执行,默认的调用的是 ‘run()’ 方法
创建:
php artisan make:seeder AdminUserTableSeeder
运行:
php artisan db:seed // 默认调用的是 ‘DatabaseSeeder->run()’,我们可在内部调用其它的填充器
php artisan db:seed –class=AdminUserTableSeeder // 调用指定的填充器
重建数据库:
php artisan migrate:refresh –seed

今天主要描述一个问题:
1.我先调用:
php artisan make:seeder AdminUserTableSeeder
2.生成一个 ‘AdminUserTableSeeder’ 类,但是发现,应该命名为 ‘AdminUsersTableSeeder’,用户应该为复数。然后我就手动修改了文件&文件内部的类名。
3.执行:
php artisan db:seed
直接报错:
[ReflectionException] Class AdminUsersTableSeeder does not exist

解决方法:
composer dump-autoload

具体可查看:
‘http://stackoverflow.com/questions/30176194/laravel-5-db-seed-class-not-found’

看了别人解释,立马想到,php artisan 命名,可能生成了一些 composer 相关的缓存,去 ‘vendor/composer/’ 发现了几个autoload_xx.php文件,这里就是 composer 自动加载的文件列表!也同 ‘composer.json’ 中的 ‘autoload’ 的配置,有很大关联!

总结:
本质上还是不懂composer、以及 php artisan 命令的本质!这里随便搜了下,有篇文章,我也没看,有时间再看:
https://laravel-china.org/topics/1002

赞(0)
版权归原作者所有,如有侵权请告知。达维营-前端网 » laravel的 db:seed 保存,[ReflectionException] Class AdminUsersTableSeeder does not exist

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址