Как проверить авторизацию двух пользователей в тэге Laravel blade @can - PullRequest
0 голосов
/ 08 апреля 2019

В моем приложении 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 (), но я только хотелиспользовать @ можно

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

Попробуйте @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>
0 голосов
/ 08 апреля 2019

Вы можете использовать Gate Facade следующим образом:

@if(Gate::check('update-post') || Gate::check('update-post2'))

@endif

И вы можете определить свои разрешения в App \ Providers \ AuthServiceProvider следующим образом:

public function boot()
{
    $this->registerPolicies();

    Gate::define('update-post', function ($user, $post) {
        return $user->id == $post->user_id;
    });
}

ИЛИ

@if($user->can('perm1') || $user->can('perm2'))
    // do something
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...