【问题标题】:Laravel 5.3 Eloquent Relationship - User, Role, Pages and PermissionsLaravel 5.3 Eloquent 关系 - 用户、角色、页面和权限
【发布时间】:2017-03-17 11:38:31
【问题描述】:

我正在为我的应用程序开发一种 ACL,使用 4 个表:

all tables and relationships

我可以得到关系

  1. 用户和角色:

    $user = App\Models\User::find( Auth::user()->id );
    //
    foreach( $user->roles as $user_role )
    ...
    
  2. 角色和页面:

    $roles = App\Models\Role::find( $user_role->id );
    //
    foreach( $roles->pages as $role_page )
    ...
    

但我被困在最后一部分,即获得用户有权访问的页面的权限。我不知道怎么做。


我觉得我没有说清楚……

我真正需要的是,获取用户可以访问的页面的权限。

例子:

用户 1 - 具有角色 1 - 管理员的 Mike,可以访问页面 1 - 主页、2 - 发布和 3 - 仪表板,现在我需要列出每个页面的权限..

你能帮我编码吗?

感谢和抱歉我的英语不好

【问题讨论】:

标签: php laravel eloquent foreign-keys relationship


【解决方案1】:

您可以为此使用 spatie/laravel-permission

【讨论】:

    【解决方案2】:

    如果我理解得很好,您正在列出用户可以访问的页面

    如何获得该页面的权限?

    你看到桌子的图片了吗?

    谢谢!

    【讨论】:

      【解决方案3】:

      感谢您可以尝试这样的方式从用户那里获取页面:

      $user = App\Models\User::find( Auth::user()->id );
      //
      foreach( $user->roles as $user_role ) {
        $user_pages = $user_role->pages;
        //...
      }
      

      看看这部分文档,也许会对你有所帮助:https://laravel.com/docs/5.3/eloquent-relationships#has-many-through

      【讨论】:

        猜你喜欢
        • 2020-09-17
        • 2017-04-03
        • 2017-04-28
        • 1970-01-01
        • 2017-09-13
        • 2014-09-15
        • 2015-10-10
        • 2019-04-27
        • 2019-07-31
        相关资源
        最近更新 更多