У меня есть 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
Вы можете использовать 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
<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>
Спасибо, @Cloud Soh Hun Fu. Этот ответ очень помог
Я знаю, что это сработает, и я пробовал их. У меня был вопрос, как проверить два авторизационных шлюза методом "can" в файле просмотра?