Sentinel Package: Получение всех зарегистрированных пользователей - PullRequest
0 голосов
/ 18 апреля 2019

Я использую Sentinel в Laravel для управления пользователями.Я вошел в систему 2 пользователей, и я пытаюсь получить список всех вошедших в систему пользователей, но это возвращает только самого последнего пользователя, который вошел в систему. Код ниже является одной из моих попыток.Я знаю, что я делаю это неправильно pls help.

public function getLoggedInUsers(Request $request,User $user) 
{
    $loggedinUser ="";

    foreach($user as $loggedinUser){
        return Sentinel::getUser($loggedinUser);
    }
 }

Возвращает только последнего зарегистрированного пользователя вместо списка всех зарегистрированных пользователей

1 Ответ

0 голосов
/ 18 апреля 2019

Клавиша return выйдет из функции getLoggedInUsers () при первом нажатии.Это означает, что ваш цикл foreach выполняется только один раз и сразу же возвращает первого пользователя.Кроме того, ваша переменная $ user является однопользовательской, что означает, что зацикливаться не на чем, она будет выполняться только один раз, независимо.Я не смог найти в документации, есть ли в Sentinel функция для получения всех активных пользователей.

Я не уверен, что Sentinel поддерживает это, но можно ли сохранять сеансы пользователя в базе данных вместо файловой системы,тогда вы сможете проверить таблицу сессий для активных пользователей.В базовой аутентификации Laravel вы можете изменить место хранения пользовательских сессий.Sentinel может иметь что-то подобное или использовать config / session.php.(https://laravel.com/docs/5.8/session) User Sessions

...