以下是我目前得到的SQL模型:
这是在我的用户控制器中的样子(stackoverflow格式):
if (Auth::user()->is('admin'))
{
if (Auth::user()->can('delete'))
{
echo 'hurra!';
}
}
权限键可能看起来像这样
admin.delete 可能会像user.can.buy这样。
现在我想知道它是否正确,以及如何在方法中执行它:
public function is($roleName)
{
$role = $this->roles;
if ($role->name == $roleName)
{
return true;
}
return false;
}
我认为这个不错。
但是,
public function can($permissionKey)
{
$permissions = $this->roles->permissions()
->where('key', $permissionKey)
->count();
if ($permissions > 0)
{
return true;
}
return false;
}
我觉得这样做有点别扭。这是使用Eloquent ORM选择数据的正确方式吗?
提前感谢!