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

Уникальный email через Faker в сидере Laravel

Для таблицы users с уникальным email в цикле объединяют два приёма: safeEmail - тестовый домен, unique - без повторов в одном сиде.

Посмотрим цепочку:

<?php namespace App\Http\Controllers; class UserController extends Controller { public function index() { dump(fake()->unique()->safeEmail()); dump(fake()->unique()->safeEmail()); } } ?>

Полный сидер с циклом:

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

Десять пользователей получат разные адреса на тестовых доменах. Выполним команду:

php artisan db:seed

Заполните 20 юзеров с unique()->safeEmail().

Запустите сид дважды подряд. Что произойдёт с email, если колонка уникальна?

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