执行填充文件:php artisan db:seed --class=GoodsortSeeder (使用class指定填充文件,则不需要在DatabaseSeeder文件里注册填充文件)
发现执行失败:错误信息:ReflectionException : Class GoodsortSeeder does not exist
我已经确保
- seeder文件和全局database seeder是在同一个seeder目录下
- 在DatabaseSeeder的run方法里注册了该填充文件
-
$this->call(GoodsortSeeder::class);
查阅相关资料得知:
出现这个问题的原因:需要清理下之前执行生成的classmap信息。
解决步骤:1.在控制台中执行`composer dump-autoload`
2.php artisan db:seed --class=GoodsortSeeder(或者php artisan db:seed)
Ok,完美解决。
接下来我们应该注意:
在实际产品中,seeder一般用于产生基础数据,那么在线上环境中,我们不可以再直接执行全部的seeder,可以选择使用`php artisan db:seed--class=UserTableSeeder`来针对独立的seeder文件进行操作。
具体可以参考文档https://laravel.com/docs/5.7/seeding
另附php artisan 命令使用总结