Отношение ко многим Отношения между 3 сущностями laravel - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть 3 объекта Категория, почта и страница. Отношение между Категорией и Постом принадлежит многим (и оно прекрасно работает), а отношение между Страницей и Категорией также принадлежит многим (оно тоже прекрасно работает). Теперь я хочу получить сообщения всех категорий на странице. Есть ли способ установить прямую связь между Page и Post? структура моих таблиц:

categories: int id string title.

posts: int id text content.

categories_posts: int id int category_id int post_id.

pages: int id string title.

pages_categories: int id int page_id int category_id.

1 Ответ

0 голосов
/ 19 апреля 2020

Я думаю, что цепочка 'join' сделает цель

в модели страницы:

public function posts()
{
return $this->join('pages_categories','pages_categories.page_id','=','pages.id')
->join('categories','categories.id','=','pages_categories.category_id')
->join('categories_posts','categories_posts.category_id','categories.id')
->join('posts','categories_posts.post_id','posts.id')->select('posts.*');
}
...