我在渲染使用角色和用户的菜单时遇到问题。我正在使用Laravel 5.2(仅供参考,也许是一个简单的解决方案:)) 我想要实现的是获得具有动作的角色的当前用户。问题是:2个不同的角色可以包含 同样的方法,我不想让他们两次,但只是一次。我怎样才能轻松实现这一目标?
有人可以帮帮我吗?
我的表结构:
- users
-- id
-- email
- roles
-- role_id
-- title
- methods
-- id
-- title
- users_roles
-- user_id
-- role_id
- methods_roles
-- role_id
-- method_id
答案 0 :(得分:1)
此查询应为您提供$your_user_id
用户的所有方法(无重复):
select *
from methods m
inner join methods_roles mr on m.id = mr.method_id
inner join user_roles ur on ur.role_id = mr.role_id
where ur.user_id = $your_user_id
group by m.id