执行填充文件:php artisan db:seed –class=RolesAndPermissionsSeeder
发现执行失败:错误信息:ReflectionException : Class RolesAndPermissionsSeeder does not exist
提示我这个填充类不存在,挺奇怪的。
我已经确保
seeder文件和全局database seeder是在同一个seeder目录下
在DatabaseSeeder的run方法里
$this->call(RolesAndPermissionsSeeder::class)
仍然会出现这个问题的原因是 我们需要清理下之前执行生成的classmap信息。
在控制台中执行composer dump-autoload
,然后再执行php artisan db:seed
.
Ok,完美解决。
接下来我们应该注意:
在实际产品中,seeder一般用于产生基础数据,那么在线上环境中,我们不可以再直接执行全部的seeder,可以选择使用php artisan db:seed--class=UserTableSeeder
来针对独立的seeder文件进行操作。
具体可以参考文档https://laravel.com/docs/5.7/seeding