РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить