РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplrPmSdIS 144 of 252 menu

Вставка одной записи в сидере Laravel

В прошлом уроке мы разобрали DatabaseSeeder и метод run. Теперь пропишем в нём вставку одной строки в таблицу.

Для этого подключим фасад DB - он уже знаком из раздела Построитель запросов. В сидере его подключают через use в начале файла:

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

В run вставим одну запись в таблицу posts. Синтаксис такой же, как в уроке вставки одной записи через Query Builder. Отличие одно: код живёт в сидере, а не в контроллере:

<?php namespace Database\Seeders; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; class DatabaseSeeder extends Seeder { public function run(): void { DB::table('posts')->insert([ 'title' => 'title 1', 'slug' => 'post-1', 'text' => 'text text text 1', ]); } } ?>

Ключи массива - имена колонок. Значения попадут в соответствующие ячейки таблицы. Если колонку не указать, база подставит значение по умолчанию или вернёт ошибку, если поле обязательное.

Выполним команду на вставку:

php artisan db:seed

Laravel вызовет run, и запись появится в таблице. Проверьте результат в PMA.

Добавьте одну запись в таблицу с юзерами в run сидера.

Вставьте один пост в таблицу posts через insert.

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