【发布时间】:2011-11-17 23:25:36
【问题描述】:
我有 5 个表:用户 > user_has_role > 角色 > role_has_permission > 权限
一个用户可以有 0 或 * 个角色。 并且一个角色可以有 0 或 * 权限
现在我有一个查询,它将获取属于用户的所有权限。 这项工作,但现在我希望如果用户具有“super_admin”角色,那么所有权限都会加入。但没有在表 role_has_permission 中指定它们。
这是查询:
SELECT p.name,r.name role
FROM user_has_role AS ur
JOIN role AS r
ON ur.role_id = r.id
JOIN role_has_permission AS rp
ON r.id = rp.role_id
LEFT JOIN permission AS p
ON rp.permission_id = p.id
WHERE ur.user_id = [USER_ID]
【问题讨论】:
-
" 这项工作,但现在我希望如果用户具有“super_admin”角色,那么所有权限都会加入“,这令人困惑,你能解释一下吗?
标签: sql