2017-09-12 46 views
0

所以我有两个模型安装,用户和邮政。邮政有一个belongsTo用户设置和用户有一个hasMany设置的职位。Laravel 5.4雄辩的地方

当我得到我所有的帖子,我想确保用户不被禁止。禁止是在数据库中的一个int,名为ban的列,我想确保它等于0.我原本通过这些帖子循环,检查以确保用户不被禁止,然后将其推送到数组并传递该数组到工作正常的视图。但是,我现在想要启用分页,并且因为我没有传入雄辩的对象而被破坏。

这是现在我的口才:

$posts = Post::where('status', '>', 1)->orderBy('published_date', 'desc')->paginate(10); 
+0

通过哪个模型和哪个字段应该检查用户? –

回答

3

使用whereHas()

$posts = Post::where('status', '>', 1)->whereHas('user', function($q) { 
    $q->where('ban', 0); 
})->orderBy('published_date', 'desc')->paginate(10); 

我认为,你从Post模型上User模型user关系。