Вызов отдельных сидеров
Удобно разбивать сидеры по отдельным файлам, но не очень удобно вызывать каждый сидер по-отдельности. Для упрощения можно в DatabaseSeeder
прописать автоматический вызов всех отдельных сидеров.
Пусть, к примеру, у нас есть два отдельных сидера: PostSeeder
и CommentSeeder
. Давайте вызовем их в основном сидере. Для этого для начала заюзаем наши отдельные сидеры:
database/seeders/DatabaseSeeder.php<?php
use PostSeeder;
use CommentSeeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
}
}
А теперь пропишем их вызов с помощью специального метода call
:
database/seeders/DatabaseSeeder.php<?php
use PostSeeder;
use CommentSeeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call([
PostSeeder::class,
CommentSeeder::class,
]);
$this->command->info('Таблица загружена данными!');
}
}
Теперь можно запустить все прописанные сидеры с помощью уже известной вам команды на запуск основного сидера:
php artisan db:seed