在全局范围查询中应用模型策略



我有一个复杂的用户策略(扩展PolicyAbstract类(,根据当前用户的几个规则和其他参数,将给定用户的读取/编辑权限授予其他用户。

我目前正在对每条记录应用该策略,并在通过遍历集合执行查询后筛选出给定的无权访问的用户。当我在设置分页后删除记录时,这会造成混淆分页收集结果的不利影响。

我想在全局范围内应用该策略,以便已从分页集合中筛选出forbiden用户。类似这样的东西:

public static function boot() {
parent::boot();

static::addGlobalScope('user_selection', function(Builder $builder) {
$builder->[involve the user policy here]
}
}

这有可能吗?如有任何帮助或指示,我们将不胜感激。

可以找到在全局范围内涉及策略的方法
必须复制";读取";范围定义中的策略规则,并使用该规则在分页之前筛选记录。

最新更新