Как я могу получить значение этой переменной? - PullRequest
0 голосов
/ 28 сентября 2019

В функции выхода из системы мне нужно получить значение $ time.Эта переменная была объявлена ​​в другой функции, когда пользователь вошел в систему.

Broadcast::channel('chat', function ($user) {
        $ip = Request::ip();
        $time = now();  
        if (auth()->check() && !session()->has('name'))  {  
            UserInfo::storeUser();
            session()->put('name',$user->name);
            return [
                'id' => $user->id,
                'ip' => $ip,
                'name' => $user->name,
                'joined' => $time,                   
            ];
        }
    });

Когда пользователь вышел из системы, я должен проверить его 'id' и значение 'join'.Как я могу это сделать?

public function logout() {
       $id = auth()->id();
       $info = \App\UserInfo::where('id', $id)
                             -> where('joined', $time)
                             ->update(['left' => now()]);
        auth()->logout();
        session()->forget('name');
        session()->put('left',now());
        return redirect('/');
    }

1 Ответ

1 голос
/ 28 сентября 2019

Вы должны использовать первичный уникальный ключ в качестве идентификатора и создать столбец 'user_id' для хранения auth () -> id в таблице.При присоединении / запуске входа в сеанс сохраните «id» в приложении как «session_id».

Вы можете получить значение 'join', используя идентификатор следующим образом:

$joined = \App\UserInfo::where('id', auth()->session_id)
          ->select('joined')
          ->first()
          ->joined;

В конце сеанса обновите левые данные с идентификатором следующим образом:

 $info = \App\UserInfo::where('id', auth()->session_id)
            ->update(['left' => now()]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...