2017-01-17 14 views
0

私は記事と翻訳との間の関係を持っていますが、どのように私はコメントでそれを得ることができますか? コメントの関係で記事の翻訳を取得する方法は?

$comments = ArticleComments::orderBy('created_at','desc')->with('user')->with('article')->with('translations')->paginate(10); 

は、私はまた、

$comments = ArticleComments::orderBy('created_at','desc')->with('user')->with('article')->with('translations')->whereHas('translations',function($query) use($default_language_id){ 
    $query->where('language_id','=',$default_language_id); 
    })->paginate(10); 

任意の提案、これを試してみましたか?私は記事ではなく、彼らの翻訳を取得...

モデル:

コメント:

public function article() 
    { 
     return $this->belongsTo('App\Models\Articles','article_id'); 
    } 

が記事:

$comments = ArticleComments::orderBy('created_at','desc')->with('user')->with('article')->with('article.translations')->paginate(10); 

public function translations() 
    { 
     return $this->hasMany('App\Models\ArticleTranslations', 'article_id'); 
    } 
+0

ようにする必要がありますが、あなたが記事とコメントの間の関係を持っていますか? –

+0

ははい私が持っている...と私はそのコメント – None

+0

のための記事を取得し、あなたのモデルコードが –

答えて

1

あなたがこれを使用する必要があります詳細については、ネストされたイーガーローディング部

https://laravel.com/docs/5.3/eloquent-relationships し、追加したい場合は照会する:

$comments = ArticleComments::orderBy('created_at','desc')->with('user')->with('article')->with('article.translations',function($query) 
    { 
     $query->where('ANY CONDITION'); 
    })->paginate(10); 
+0

がどのように私は... article.translationsでwhereHasを使用することができ、私のモデルを掲載しました言語== 1の場合のみ? – None

+1

私はasnwerの関連テーブルに条件を追加します...幸運 –

0

それはこの

$comments = ArticleComments::orderBy('created_at','desc')->with('user')->with('article',function ($query) { 
       $query->with('translations') 
       })->paginate(10); 
関連する問題