2、角色删除
思路:如果该角色有管理员,则不能删除,
在删除角色时,要删除角色与权限的中间表里面的数据
使用到钩子函数,
把判断该角色是否有管理员,则写的钩子函数里面(_before_delete)
(1)在角色列表中添加一个删除角色的链接。
(2)在角色的控制器里面,添加一个删除角色的方法,(del)
(3)添加一个钩子函数(_after_delete())删除角色与权限中间表里面的内容。
//钩子函数,用于删除角色和权限的中间表里面的关联的数据
protected function _after_delete($data,$option)
{
$id = $options['where']['id'];
if(M('RolePrivilege')->where("role_id = $id"))->delete()===false){
//执行失败
$this -> error = "删除失败";
return false;
}
}