Я пытаюсь найти все posts
в различных categories
.
У меня есть модели Post
и Category
, связанные belongsToMany()
следующим образом:
Пост
public function categories()
{
return $this->belongsToMany('App\Category');
}
Категория
public function posts()
{
return $this->belongsToMany('App\Post');
}
Между ними есть сводная таблица category_post
, и все работает хорошо сотношения.
У меня проблема в следующем.Когда user
просматривает post
, я хочу показать связанный posts
, и для этого я хочу показать posts
, принадлежащие тому же categories
, что и post
.
ЕслиЯ делаю следующее:
$post = Post::where('slug',$slug)->first();
$relateds = $post->categories->first()->posts()->get();
Я возвращаю сообщения первой category
, но эта запись более ассоциируется categories
.И мне нужны все сообщения.
Я пробовал с:
$post = Post::where('slug',$slug)->first();
$relateds = $post->categories->get()->posts()->get();
$post = Post::where('slug',$slug)->first();
$relateds = $post->categories->all()->posts()->get();
И несколько похожих вещей, но ни один не работает.
Как правильно это сделать, пожалуйста?
Спасибо.