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

Наполнение таблицы в цикле в сидере Laravel

На практике сидеры часто заполняют таблицы десятками или сотнями строк - чтобы проверить списки, пагинацию, поиск. Цикл с insert как раз для этого: задаём нужное число итераций и получаем столько же записей.

Наполним таблицу users десятью пользователями. Поля пока случайные - email улучшим в уроке про конкатенацию:

<?php namespace Database\Seeders; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; class DatabaseSeeder extends Seeder { public function run(): void { for ($i = 0; $i < 10; $i++) { DB::table('users')->insert([ 'name' => Str::random(10), 'email' => Str::random(10), ]); } } } ?>

Аналогично заполняют posts, комментарии и другие таблицы. Для двадцати постов меняют условие на $i < 20.

<?php for ($i = 0; $i < 20; $i++) { DB::table('posts')->insert([ 'title' => Str::random(10), 'slug' => Str::random(10), 'text' => Str::random(50), ]); } ?>

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

php artisan db:seed

Повторный запуск этой команды добавит ещё столько же строк.

Сделайте сидер, который наполнит базу пользователями через цикл.

Сделайте сидер, который наполнит базу постами через цикл.

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