Общий вызов отдельных сидеров в Laravel

Удобно разбивать сидеры по отдельным файлам, но не очень удобно вызывать каждый сидер по-отдельности. Для упрощения можно в DatabaseSeeder прописать автоматический вызов всех отдельных сидеров.

Пусть, к примеру, у нас есть два отдельных сидера: PostSeeder и CommentSeeder. Давайте вызовем их в основном сидере. Для этого для начала заюзаем наши отдельные сидеры:

<?php use PostSeeder; use CommentSeeder; class DatabaseSeeder extends Seeder { public function run() { } } ?>

А теперь пропишем их вызов с помощью специального метода call:

<?php class DatabaseSeeder extends Seeder { public function run() { $this->call([ PostSeeder::class, CommentSeeder::class, ]); } } ?>

Теперь можно запустить все прописанные сидеры с помощью уже известной вам команды на запуск основного сидера:

php artisan db:seed

Пропишите в основном сидере сидер с для юзеров, сидер для городов и сидер для стран.