Laravel 5.3 Eloquent 关系 - 用户、角色、页面和权限

问题描述 投票:0回答:3

我正在为我的应用程序开发一种 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 - Mike,角色 1 - 管理员,有权访问页面 1 - 主页、2 - 帖子和 3 - 仪表板,现在我需要列出每个页面的权限。

你能帮我编码吗?

感谢并抱歉我的英语不好

php laravel eloquent foreign-keys relationship
3个回答
0
投票

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

$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


0
投票

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

如何获得该页面的权限?

你看到桌子的图片了吗?

谢谢您!


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.