【问题标题】:Render menu based on user, roles and methods基于用户、角色和方法的渲染菜单
【发布时间】:2016-06-02 18:49:50
【问题描述】:

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

【问题讨论】:

    标签: php mysql join laravel-5.2


    【解决方案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
    

    【讨论】:

    • 这就像一个魅力!谢谢!还有一个问题:方法包含“控制器”,控制器包含“模块”,模块包含“base_path”,我可以将它们附加为多维数组吗?
    • 这是另一个问题,您应该用它创建另一个问题(在您投票并接受我的回答之后,以便其他人知道这个问题已经有解决方案)
    猜你喜欢
    • 2018-11-10
    • 2023-03-19
    • 2019-05-01
    • 2022-06-19
    • 2021-06-14
    • 2023-03-30
    • 2013-05-14
    • 2019-04-12
    • 1970-01-01
    相关资源
    最近更新 更多