我在Laravel 5.5中有一个使用Laratrust上一版本的应用来提供角色和权限。
现在,我想让管理员仅列出他创建的用户,并让超级管理员查看所有用户。
让我们看一些代码:
UserController.php
public function index()
{
$id = Auth::user()->id;
if ($id = Laratrust::hasRole('superadministrator')) {
$users = User::orderBy('id', 'desc')->paginate(10);
}
$users = User::where('id', '=', $id)->orderBy('id', 'desc')->paginate(10);
return view('manage.users.index')->withUsers($users);
}
管理导航栏:
@if(Laratrust::hasRole('superadministrator|administrator'))
<li><a href="{{route('users.index')}}" class="{{Nav::isResource('users')}}">Usuários</a></li>
<li>
<a class="has-submenu {{Nav::hasSegment(['roles', 'permissions'], 2)}}">Cargos & Permissões</a>
<ul class="submenu">
<li><a href="{{route('roles.index')}}" class="{{Nav::isResource('roles')}}">Cargos</a></li>
<li><a href="{{route('permissions.index')}}" class="{{Nav::isResource('permissions')}}">Permissões</a></li>
</ul>
</li>
@endif
请问任何想法?
答案 0 :(得分:1)
您正在覆盖控制器中的$users
变量