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

Как вы увидите на рисунке, данные со временем 'left' вставляются в каждое поле 'left' под именем текущего пользователя.Это потому, что в функции logout () я нахожу пользователя по его идентификатору.Но я хотел бы обратиться к пользователю по 'user_id', который является автоматическим приращением.Как я мог это сделать?enter image description here

 public function logout() {
        $id = auth()->id();
        $info = \App\UserInfo::find($id);
        $info->left = now(); 
        $info->save(); 
        auth()->logout();
        session()->forget('name');
        session()->put('left',now());
        return redirect('/');
    }

Если бы был способ получить это значение $ time из объекта UserInfo, мы могли бы обновить «левый» столбец.

$info = \App\UserInfo::where('id', $id)
    -> where('joined', $time)->first();
    ->update(['left' => now()]);

Во всяком случае, это линия, чтобы заставить его работать.Теперь он вставляется без переопределения других значений.

 $user_info = \App\UserInfo::where('user_id', $id)->latest()->first();

enter image description here

1 Ответ

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

Найдите UserInfo по user_id

$info = \App\UserInfo::where('user_id', $id)->firstOrFail();

Обратите внимание, что ваша таблица станет огромной, если многие пользователи войдут и выйдут из системы, старые данные не будут иметь значения, если вы хотите реализоватьlast seen функция приложения для обмена сообщениями

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