Общий вызов отдельных сидеров в 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