是否可以对多个模型使用相同的策略?
我有一个具有21个关系的模型,因此,任何一个模型的编辑权限都是相同的-因此我将维护22个策略。
答案 0 :(得分:1)
您不能对多个模型使用相同的策略,因为在创建策略时,必须注册它才能生效,在laravel中创建策略需要将模型应用于该模型,而注册策略则需要该政策适用的模型:
stable_2020(datetime)
第一个参数是模型类....
但是:
您可以使用Gate,并尝试使您的代码尽可能通用:
// in AuthServiceProvider Class:
protected $policies = [
Post::class => PostPolicy::class,
];
并在您的控制器中:
Gate::define('update-entity', function ($user, $entity) {
// your code logic
return ....;
});
有关“盖茨与政策”的更多详细信息,