我在应用程序上做了一个简单的ACL系统,如下表所示:
员工>角色>roles_permissions<权限>权限>
我还有员工、角色和权限表的模型。
现在我想实现一个"can"方法,我给出一个权限 slug,它返回 true 或 false。
到目前为止,我尝试了(不成功)以下方法(我在"is"方法上使用该方法没有问题):
public function can($slug)
{
return $this->role->permissions->slug == $slug;
}
如何使我的"可以"方法按预期工作?
自从我问
: public function can($slug)
{
return $this->role->permissions->where('slug', $slug)->first()->slug == $slug;
}
不知道这是否是最好的方法,但它是有效的。