Задать вопрос
@lolrofl01

Как построить связь между тремя таблицами в laravel?

Есть 3 таблицы: статьи, комментарии, юзеры. Связь такая - у статьи может быть много комментариев:
public function comments()
    {
        return $this->hasMany('App\Comments');
    }


А у каждого комментария есть 1 юзер. (модель users)
public function comments()
    {
        return $this->hasMany('App\Comments', 'user_id');
    }


Как сделать так, чтобы в выборке комментариев к определенной статье были все данные из таблицы users? Пока этот код выбирает все комментарии к статье:
$comments = Posts::where('id', $news->id)->first()->comments;


Что к нему нужно приписать, чтобы в $comments помимо комментов была инфа из таблицы users? Т.е. хочу сделать аналог join средствами eloquent.
  • Вопрос задан
  • 273 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Комментировать
@miki131
$comments = $news->comments()->with('user')->get();

или
$post = Post::with('comments', 'comments.user')->where('id', $id)->first();
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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