@paradonado
начинающий

Как правильно получить отношения через отношение 1->3 eloquent?

У меня есть три сущности. Связи многие ко многим.

Keyword
Recipe
Category

Связи между нижними сущностями в таблицах в базе.
category_keyword
keyword_recipe

Что бы сделать связь category_recipe я сделал следующее

$category = Category::with(['keywords'])->where('code', $code)->first();
        $recipes = collect();
        foreach ($category->keywords as $keyword){
            foreach ($keyword->recipes as $recipe){
                $recipes->push($recipe);
            }
        }

Но что то мне подсказывает что это не совсем верно :). В шаблоне(View) перебирать foreach через третье колено перебирать так же не совсем правильно. Особенно если нужно условия выставлять определенные.

Подскажите как правильно выстроить запрос через Eloquet в моем случае отношение category_recipe
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
@jazzus
hasManyThrough https://laravel.com/docs/8.x/eloquent-relationship...
или Recipe whereHas Keyword whereHas Category
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы