Есть ли способ ограничить заполнение фабрики Laravel при вызове одной фабрики внутри другой?

#laravel #laravel-seeding #factories

Вопрос:

В настоящее время я слежу за Laracasts и изучаю Laravel. Я полностью понимаю посев и фабрики, но мне было интересно, есть ли способ ограничить количество предметов, которые может создать фабрика, называемая другой фабрикой? Может быть, функция стрелки? Это в первую очередь потому, что я не хочу, чтобы 30 пользователей с моими 30 постами и т. Д. Я понимаю, что мог бы просто назвать их отдельно в сеялке, но это не то решение, которое я ищу, если только это действительно не единственный вариант.

Мой Текущий постфактумный код:

     class PostFactory extends Factory
{
    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = Post::class;

    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'user_id' => User::factory(),
            'category_id' => Category::factory(),
            'title' => $this->faker->sentence(),
            'slug' => $this->faker->slug(),
            'excerpt' => collect($this->faker->paragraphs(2))->map(fn($item) => "<p>{$item}</p>")->implode(''),
            'body' => collect($this->faker->paragraphs(6))->map(fn($item) => "<p>{$item}</p>")->implode(''),
        ];
    }
}