#laravel
Вопрос:
//e.g...
@can('view-post')
// show publish page
@endcan
//something like this.
@can('view-post') OR @can('publish-post')
// show publish page
@endcan
Если у пользователя есть какие-либо права пользователя, то доступ предоставляется.
Ответ №1:
https://laravel.com/docs/8.x/authorization
Вы также можете определить, имеет ли пользователь право выполнять какие-либо действия из заданного набора действий. Для этого используйте
@canany
директиву:
@canany(['update', 'view', 'delete'], $post)
<!-- The current user can update, view, or delete the post... -->
@elsecanany(['create'], AppModelsPost::class)
<!-- The current user can create a post... -->
@endcanany
Комментарии:
1. спасибо за эту демонстрацию, она работает так, как я и ожидал. Я думаю, это лучший подход.
Ответ №2:
В качестве альтернативы, в вашем клинке:
@if(Gate::allows('whatever') || Gate::allows('whatever-else'))
<!-- Code -->
@endif
Комментарии:
1. Это не демонстрирует два разных действия, о которых, похоже, спрашивает ОП.
2. @ceejayoz Нет ничего сложного в том, чтобы добавить еще одно условие.
3. Конечно, но ОП боролся с этим, так что демонстрация этого полезна. Спасибо, что сделали это.