2016-09-01 14 views
1

私は記事のコメントと記事のユーザーの投票がある場合は、トピックのすべての記事を取得しようとしています。Laravel Eloquent関連テーブルからの値を取得

スキーマは以下の通りです:

article 
id | topic | title | text 

article_comments 
article_id | comment_id 

comments 
id | text 

votes 
id | article_id | user_id 

コメントは、多くの関係に多くを介して接合されています。

私が今使用してクエリが、私は必要なもの

$articles = Article::where('topic', $topic) 
       ->orderBy('id', 'desc')->paginate(15); 

あるクエリに、このようなものを追加することです:

v.value as 'v_value'... 
LEFT JOIN votes v ON (v.article_id=a.id AND v.user_id = :user_id) 

可能性があり、その記事には投票権を持っていません。このユーザーから - この場合、投票テーブルの行が失われます。 、今

$articles = Article::where('topic', $topic) 
      ->orderBy('id', 'desc') 
      ->with('votes') 
      ->paginate(15); 

あなたはロードされたvotesがあるでしょう:

は、誰かが私に

答えて

0

は通常、あなたが関係を使用したい

はお時間をいただき、ありがとうございます、ヒント、その後eager loadvotesのようなを与えることができます$articlesコレクションにもあります。

関連する問題