I\'m trying a basic php artisan db:seed after migrating my database but it keeps returning the title error in cmd -[ReflectionException] Class \'UserTableSeeder\' does not e
Run composer dumpautoload after creating files in the database/ folder.
Why?
Check the composer.json autoload section and you'll see the database/ folder is loaded by "classmap" (source):
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
The Composer docs describe classmap as:
The classmap references are all combined, during install/update, into a single key => value array which may be found in the generated file vendor/composer/autoload_classmap.php. This map is built by scanning for classes in all .php and .inc files in the given directories/files.
You can use the classmap generation support to define autoloading for all libraries that do not follow PSR-0/4. To configure this you specify all directories or files to search for classes.
Emphasis added. You need to run the composer dumpautoload command to generate a new classmap every time you add a file to database/, otherwise it will not be autoloaded.
The app/ folder, by contrast, uses the PSR-4 standard for converting a fully qualified class name to a filesystem path. This is why you don't need to dumpautoload after adding files there.