Использование Auth :: check () на разных охранниках не работает - PullRequest
0 голосов
/ 07 июня 2018

У меня разные охранники

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
    ],

    'teacher' => [
        'driver' => 'session',
        'provider' => 'teachers',
    ],

    'doctor' => [
        'driver' => 'session',
        'provider' => 'doctors',
    ],
],

У меня одинаковая раскладка для всех 3 пользователей (врачей, учителей и пользователей). Я хочу проверить в представлении, вошли они в систему или нет, если нет, то яхочу показать кнопку входа в систему

Я пробовал это:

@if(!auth()->guard('web')->check() || !auth()->guard('doctor')->check() || !auth()->guard('teacher')->check() )
                        <li><a class="nav-link" href="{{ route('getting-started') }}">{{ __('Login') }}</a></li>

Обратите внимание, когда я использую только: auth () :: check () это относится к пользователю по умолчанию, охранник которогоweb

Если я проверяю только на одном охраннике, это работает, но как насчет других?Возможно, мое утверждение if неверно, но в любом случае я хочу найти решение для проверки того, вошел ли кто-либо из указанных пользователей, чтобы я мог скрыть кнопку и перенаправить его в свой профиль

Спасибо

1 Ответ

0 голосов
/ 07 июня 2018
@if(!(auth()->guard('web')->check() || auth()->guard('doctor')->check() || auth()->guard('teacher')->check() ))
   <li><a class="nav-link" href="{{ route('getting-started') }}">{{ __('Login') }}</a></li>
...