Laravel 5.4 If для операторов с условиями аутентификации - PullRequest
0 голосов
/ 17 сентября 2018

Проблема в том, что выдает ошибку.

Неопределенное свойство: Illuminate \ Auth \ SessionGuard :: $ подтверждается

Вот мой код:

if (Auth::guard('pharmacy')->confirmed == 1) {


    if (Auth::guard('pharmacy')->status == 'Approved') {


        return redirect()->intended(route('pharmacy.dashboard'));

      }

    }

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Убедитесь, что в вашей таблице есть поле confirmed, и вы правильно зарегистрировали охрану, чтобы использовать эту таблицу в качестве поставщика.

Охрана : config/auth.php

'guards' => [

   // ...

   'pharmacy' => [
      'driver' => 'session',
      'provider' => 'pharmacies',
   ],
],

Миграция

class CreatePharmaciesTable extends Migration
{
   public function up()
   {
      Schema::create('pharmacies', function (Blueprint $table) {
            // ...
            $table->boolean('confirmed')->default(false);
      });
   }

   // ...

}
0 голосов
/ 17 сентября 2018

Вы должны сделать это вместо этого:

if (Auth::guard('pharmacy')->attempt(['email' => $email, 'password' => $password])) {
    if (Auth::user()->confirmed == 1 && Auth::user()->status == 'Approved') {
        return redirect()->intended(route('pharmacy.dashboard'));
    }
    //You might want to do something else here for those that fail either the confirmed or approved check.
}

Сначала вы должны аутентифицировать пользователя по экземпляру pharmacy guard.Только когда пользователь прошел аутентификацию, вы можете получить доступ к его / ее attributes ... в вашем случае ... confirmed и status.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...