Как получить сеансы пользователя при использовании драйвера сеанса базы данных? - PullRequest
0 голосов
/ 14 января 2020

Я хочу проверить зарегистрированного пользователя и столбец user_id в таблице сеансов, а также подсчитать результат. Поэтому я попытался использовать это

    $login = Session::where('user_id', Auth::id())->count();

Но он вернул эту ошибку

Вызов неопределенного метода Illuminate \ Session \ Store :: where ()

1 Ответ

1 голос
/ 14 января 2020

У вас есть 2 варианта:

  1. Использовать DB фасад:

    use Illuminate\Support\Facades\DB;
    
    $login = DB::table('sessions')->where('user_id', Auth::id())->count();
    
  2. определить новую модель Session и использовать это для подсчета логинов:

    • php artisan make:model Session

      $login = \App\Session::where('user_id', Auth::id())->count();
      
    • Таким образом, вы также можете определить отношение sessions для пользователя модель:

      class User extends Authenticatable
      {
          /**
           * Get the sessions of the user.
           */
          public function sessions()
          {
              return $this->hasMany('App\Session');
          }
      }
      

      и назовите это так:

      $login = Auth::user()->sessions()->count();
      
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...