whereHas() vs whereRelation() - швидша фільтрація
Фільтруєш користувачів які мають пости? whereHas() створює підзапит.
whereRelation() використовує join. Швидше на великих таблицях.
Різниця в продуктивності:
whereHas()- підзапит для перевірки кожного рядкаwhereRelation()- одна join операція
Коли використовувати:
Використовуй whereRelation() для простих умов на пов'язаних моделях.
Використовуй whereHas() коли потрібна складна логіка або підрахунок.
Покращення Laravel 11:
whereRelation() додано в Laravel 8.57. Читабельніше ніж ручні join'и.
Порада: Для простих фільтрів зв'язків завжди віддавай перевагу whereRelation() над whereHas().