Class ‘UserTableSeeder’ does not exist – Laravel 5.0 [php artisan db:seed]

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.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)