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

How to make button visible once to admin-type user in Laravel?

我想让 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

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

Undefined variable: user

我该如何解决这个问题?

这是因为您要删除 foreach ,但在 routes 中再次使用变量 $user 。 请删除 $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

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

您需要删除传递给 user.create 路由的 id

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