It took me a while to realize what is going on with this strange issue. You did a migration that worked fine? Then you wanted to populate newly created table by seeding your database? You made a proper file, you called the file inside
DatabaseSeeder.php using exactly the same class name as in the recent seeding file? You are absolutely sure that everything is named as it should be and all files exist in a proper place?
Surprisingly the solution to this issue is quicker than the introduction you have just read.
So probably after
php artisan migrate you run
php artisan db:seed and you get ReflectionException with irrational message saying that the mentioned class does not exist?
After migration and just before seeding, all you have to do is run one additional command. Simply dump autoloads with
Accoding to the documentation:
If you need to update the autoloader because of new classes in a classmap package for example, you can use
dump-autoloadto do that without having to go through an install or update.
Finally run the seed command again:
php artisan db:seed.
Now everything should work as expected. No exceptions and fully populated database.
I hope that you have saved some time with this article.