Переопределение атрибутов фабрики в Laravel
Метод definition возвращает
случайные значения по умолчанию.
Иногда нужна запись с известными
данными: администратор, тестовый
email или фиксированный slug.
Поля переопределяют массивом
в make или create:
<?php
use App\Models\User;
User::factory()->create([
'name' => 'admin',
'email' => 'admin@site.com',
]);
?>
Указанные ключи заменят значения
из definition. Остальные
поля заполнит Faker.
Так же работает make -
удобно, когда модель еще не
сохраняют, но нужны конкретные
атрибуты:
<?php
$user = User::factory()->make([
'age' => 25,
]);
?>
При count один массив
применяется ко всем создаваемым
записям:
<?php
User::factory()->count(3)->create([
'role' => 'editor',
]);
?>
Три пользователя получат роль
editor, а имена и email
останутся случайными. Для разных
наборов значений в одном вызове
используют sequence -
в следующем уроке.
Создайте пользователя с email
test@site.com через фабрику.
Создайте 3 поста с одним
и тем же user_id.