首页 > 解决方案 > 如何在 Laravel Blade @can 标签中检查两个用户的授权

问题描述

我的应用程序中有 6 种类型的用户。对于一个视图,我想检查给定的两种用户中的任何一种是否已登录。如果是,则显示此项目。

这是有效的

@can('admin-controller')
    <div class="custom-submit-button-group">
        <a href="/contact/viewall">View All Messages</a>
    </div>
@endcan

但是,我希望这个工作。我想向这两种用户类型显示 div。

@can('admin-controller' || 'general-controller')
    <div class="custom-submit-button-group">
        <a href="/contact/viewall">View All Messages</a>
    </div>
@endcan

但他们都看不到这个项目。

我可以使用 Auth::check() 但我只想使用 @can

标签: laravelparameters

解决方案


试试@canany


<table>
  <tr>
    <th>...</th>
    @canany(['edit_post', 'delete_post'])
    <th>Actions</th>
    @endcanany
  </tr>
  <tr>
    <td>...</td>
    @canany(['edit_post', 'delete_post'])
    <td>
      @can('edit_post')
      <button>Edit</button>
      @endcan
      @can('delete_post')
      <button>Delete</button>
      @endcan
    </td>
    @endcanany
  </tr>
</table>

推荐阅读