Laravel 5 如何获取角色中的权限列表

Laravel 5 如何获取角色中的权限列表,laravel-5,eloquent,relationship,foreign-key-relationship,Laravel 5,Eloquent,Relationship,Foreign Key Relationship,我使用的是romanican/Roleslaravel包,我有permission\u roletable、Rolestable和permissionstable。现在,我想获得特定角色的所有权限。e、 g.(角色:管理员,权限:创建.用户,删除.用户,编辑.用户。结果将是: 管理员: 创建用户 删除.users 编辑用户 我该怎么做呢?这是我的表和字段: 角色 id |名称|段塞|液位| 权限 id | name | slug| 权限\u角色 id |权限| id |角色|

我使用的是
romanican/Roles
laravel包,我有
permission\u role
table、
Roles
table和
permissions
table。现在,我想获得特定
角色的所有
权限
。e、 g.(角色:
管理员
,权限:
创建.用户
删除.用户
编辑.用户
。结果将是:

管理员:

  • 创建用户
  • 删除.users
  • 编辑用户
我该怎么做呢?这是我的表和字段:

角色


id |名称|段塞|液位|



权限


id | name | slug|



权限\u角色


id |权限| id |角色| id|



在角色模型文件中建立关系

public function permissions()
{
  return $this->belongsToMany(Permissions::class, 'permission_role', 'role_id', 'permission_id ')
}

首先,您需要一个控制器来处理此问题。控制器必须能够获得角色,然后需要通过角色来管理烫发,然后获得权限

所以它看起来像这样

public function editRolePerms($id)
    {
      $getrole = Role::findOrFail($id);

      $permbyrole = DB::table('permission_role')->select('permission_id')->where('role_id', $id)->lists('permission_id');

      $getperms = Permission::all();

      return view('your_view')->with('role', $getrole)->with('getperms', $getperms)->with('permbyrole', $permbyrole);
    }
这将是控制器,然后通过视图中的角色获取烫发,它将如下所示:

@foreach($getperms as $perm)
<tr>
  <td>{{ $perm->name }}</td>
  <td>{{ $perm->description }}</td>
  @if(!in_array($perm->id, $permbyrole))
      <td><span id="{{ $perm->id }}" class="label label-danger">Not enabled</span></td>
      <td><input onclick="toggleRole({{ $perm->id }}, {{ $role->id }})" type="checkbox" id="checkbox_{{ $perm->id }}"></td>
  @else
      <td><span id="{{ $perm->id }}" class="label label-success">Enabled</span></td>
      <td><input onclick="toggleRole({{ $perm->id }}, {{ $role->id }})" type="checkbox" checked="true" id="checkbox_{{ $perm->id }}"></td>
  @endif
 </tr>
@endforeach
@foreach($getperms作为$perm)
{{$perm->name}
{{$perm->description}
@if(!in_数组($perm->id,$permbyrole))
未启用
@否则
启用
@恩迪夫
@endforeach

希望这能满足您的需要。

我会试试的,先生。嗯,它返回
集合{217▼   #items:[]}
但我的数据库中有一条记录我会尝试你的解决方案很高兴能帮上忙!祝你好运。耶!:)arigatoon还有一件事,
lists()
方法有什么用?它是否返回数据库
字段
?我指的是该字段的值?