Laracode
Laracode

Повторное использование существующих моделей

При создании фабрик вы можете использовать одну и ту же модель для всех связей вместо создания новой модели для каждой. В Laravel для этого есть удобный метод recycle.

<?php

$airlines = Airline::factory()->count(3)->create();

// Для 100 билетов будут использоваться только 3 авиакомпании
Ticket::factory()
    ->count(100)
    ->recycle($airlines) // Вы также можете передать только одну модель
    ->create();

FakerPHP - случайный элемент

Иногда при определении фабрик вам может понадобиться выбрать случайный элемент из массива. Поскольку Laravel под капотом использует FakerPHP, вы можете сделать это, вызвав метод randomElement.

<?php

// Получить случайный тип подписки
$random = fake()->randomElement(['basic', 'premium']);

// Получить случайную букву
$random = fake()->randomElement(['a', 'b', 'c']);