Laravel 5.* 执行seeder命令出现错误的解决方法
最近在使用Laravel开发一个项目,测试中需要增加数据库基础数据动作,当第一次执行完 php artisan db:seed
后,增加新的seeder文件时执行会报错。错误信息如下 [ReflectionException] Class ***TableSeeder does not exist
首先我已经确保新的seeder文件和全局database seeder是在同一个seeder目录下了,仍然会出现这个问题的原因是 我们需要清理下之前执行生成的classmap(/vendor/composer/autoload_static.php
)信息。
在控制台中执行composer dump-autoload
,然后再执行php artisan db:seed
.
在实际产品中,seeder一般用于产生基础数据,那么在线上环境中,我们不可以再直接执行全部的seeder,可以选择使用php artisan db:seed--class=UserTableSeeder
来针对独立的seeder文件进行操作。具体可以参考文档laravel seeder