我正在选择与经过身份验证的用户属于同一组织的所有广播,这与->whereHas()
完美搭配,但是如果我想添加一个过滤器以仅显示broadcasts
,{{ 1}}是is_published
。
true
模型
public static function indexQuery(NovaRequest $request, $query)
{
if (Auth::user()->isAdmin()) {
return $query;
}else{
return $query->whereHas('organizations', function($q){
$q->where('organization_id', Auth::user()->organization_id);
});
}
}
答案 0 :(得分:2)
您可以将查询范围添加到Broadcast
模型中,该查询范围将仅查询broadcasts
为is_published
的{{1}}(这对于以后在您的应用程序中进行查询很有用需要发布的广播):
Broadcast.php (或模型文件)
true
然后在您的代码中,然后进入您查询的public scopePublished($query)
{
return $query->where('is_published', true);
}
范围:
->published()