根据用户,角色和方法渲染菜单

时间:2016-06-02 18:49:50

标签: php mysql join laravel-5.2

我在渲染使用角色和用户的菜单时遇到问题。我正在使用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

1 个答案:

答案 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