in laravel 8 with seeding , i has this issue Target class [TableSeeder] does not exist in laravel 8 with seeding , i has this issue Target class [TableSeeder] does not exist laravel laravel

in laravel 8 with seeding , i has this issue Target class [TableSeeder] does not exist


From laravel 8 Seeders and factories are now namespaced


To accommodate for these changes, add Database\Seeders namespace to your seeder classes.

namespace Database\Seeders;

In addition, move all seeder files from previous database/seeds directory to database/seeders folder.


In your case remove all lines started with use Database\Seeders\...
from DatabaseSeeder.php file

It should solve the issue,

You can also run dump-autoload & fresh migration with seed,

composer dump-autoloadphp artisan migrate:fresh --seed


For Laravel 8 you need to make below changes for Seeding to work :-

  1. Add Database\Seeders namespace at top of DatabaseSeeder.php and other Seeder files :-

    namespace Database\Seeders;
  2. Replace folder name seeds to seeders located at \database\ folder.

  3. Update composer.json like below:

"autoload": {    "psr-4": {        "App\\": "app/",        "Database\\Factories\\": "database/factories/",        "Database\\Seeders\\": "database/seeders/"    }},
  1. Finally, run below commands :-

    composer dump-autoloadphp artisan db:seed

Hope it will help someone in future!


When working with new seeders we might get

Target class [...TableSeeder] does not exist.

In my case, simply running

composer dump-autoload

did the trick as you can see in the following image

enter image description here