如何使按钮在Laravel中对管理员类型的用户可见一次?

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

我想使ADD按钮仅对管理员类型的用户可见。我的代码如下:

@foreach($users as $user)
  @if(Auth::user()->type=='admin')
    <a href="{{ route('User.create', ['id'=>$user->id ]) }}" class="btn btn-default</i> ADD</a>
  @endif
@endforeach

但是,由于ADD循环,它根据所有用户数返回很多foreach按钮。如果删除foreach循环,它将显示错误:

未定义变量:用户

我该如何解决这个问题?

laravel validation button admin
2个回答
1
投票

这是因为您要删除foreach,但是在$user内再次使用了变量routes。请删除$user->id,而改用Auth :: user()-> id。

  @if(Auth::user()->type=='admin')
    <a href="{{ route('User.create', ['id'=>Auth::user()->id ]) }}" class="btn btn-default</i> ADD</a>
  @endif

1
投票

您不需要使用foreach循环来检查具有admin类型的经过身份验证的用户

您需要将传递ID删除到用户中。创建路由

@if(Auth::user()->type == 'admin')
<a href="{{ route('User.create') }}" class="btn btn-default</i> ADD</a>
@endif
© www.soinside.com 2019 - 2024. All rights reserved.