我有文章和翻译之间的关系,但我怎么能在评论中得到它?
$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');
}
文章:
public function translations()
{
return $this->hasMany('App\Models\ArticleTranslations', 'article_id');
}
答案 0 :(得分:1)
你应该用这个:
$comments = ArticleComments::orderBy('created_at','desc')->with('user')->with('article')->with('article.translations')->paginate(10);
了解更多信息: 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);
答案 1 :(得分:0)
应该是这样的
$comments = ArticleComments::orderBy('created_at','desc')->with('user')->with('article',function ($query) {
$query->with('translations')
})->paginate(10);