Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pplrPmSdDS 143 of 252 menu
◀ ▶

Класс DatabaseSeeder в Laravel

После введения перейдём к практике. В проекте Laravel уже есть главный сидер - класс DatabaseSeeder в файле DatabaseSeeder.php. Обычно именно его правят первым: сюда складывают код начального наполнения базы.

Когда вы запускаете сид без дополнительных параметров, Laravel выполняет именно этот класс. Другие сидеры подключают к нему позже - в отдельных уроках.

Откройте файл и посмотрите на его устройство. Класс наследует Seeder - базовый класс для всех сидеров Laravel. Главное здесь - метод run. При посеве данных вызывают именно его:

<?php namespace Database\Seeders; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { public function run(): void { // commands } } ?>

Весь код наполнения таблиц пишут внутри run. Пока метод пустой - выполнится, но данных в базу не добавится.

Сидер не вызывают из контроллера или маршрута. Его запускают в терминале из корня проекта:

php artisan db:seed

Laravel найдёт DatabaseSeeder и вызовет run. В следующих уроках пропишем в метод вставку данных и снова выполним эту команду.

Откройте DatabaseSeeder.php в редакторе.

Найдите метод run. Что в нём сейчас?

От какого класса наследуется DatabaseSeeder?

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить