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 :-
Add Database\Seeders namespace at top of DatabaseSeeder.php and other Seeder files :-
namespace Database\Seeders;
Replace folder name seeds to seeders located at
\database\
folder.Update composer.json like below:
"autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" }},
Finally, run below commands :-
composer dump-autoloadphp artisan db:seed
Hope it will help someone in future!