У меня есть следующие модели в Eloquent: группы, темы, комментарии и пользователи. Я хочу найти все комментарии в определенной группе от конкретного пользователя.Извлечение и фильтрация отношений в Laravel Eloquent
Это мой текущий подход:
$group->threads->each(function ($thread) use ($user_id)
{
$user_comments = $thread->comments->filter(function ($comment) use ($user_id)
{
return $comment->owner_id == $id;
});
});
Это выглядит некрасиво, как ад, вероятно, медленно, как ад, и я просто хочу, чтобы избавиться от него. Какой самый быстрый и элегантный способ в Eloquent попасть в мой результирующий набор?
Вы хотите, чтобы получить все комментарии в сочетании или по цепочке потоков? – lukasgeiter
Мне все равно. Все комментарии объединены. –
Как вы выглядите? Потому что, если вы правильно настроили свои отношения, вы можете сделать что-то вроде $ group-> find (1) -> users()> find (1) -> comments; – Burimi