Как переопределить этот код, чтобы он правильно вставлял данные? - PullRequest
0 голосов
/ 28 сентября 2019

Этот вопрос является продолжением этого вопроса Как правильно вставить время, когда пользователь уходит (user_left и user_joined получили одно и то же значение)

Я получаю данные, когда пользователь вошел в систему ихранить в БД.

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

Я получаю время, когда пользователь вышел из системы, а также хранить в БД.

 public function logout() {
        $info = auth()->user()->info;
        $info->left = now(); 
        $info->save(); 
        auth()->logout();
        session()->forget('name');
        session()->put('left', now());
        return redirect('/');
      }

Модель UserInfo

public static function storeUser() { 
    UserInfo::create([
    'user_id' => Auth::id(),
    'ip' => Request::ip(),
    'name' =>  Auth::user()->name, 
    'joined' => now(),   
 ]);  
} 

Это то, чтоУ меня есть.enter image description here

Время, когда оставленный пользователь вставляется не так, как я бы хотел.Первая запись с именем текущего пользователя получает время.Я хотел бы видеть последнюю запись текущего пользователя, получающего эти данные (когда Сид 12 вышел из системы, Сид 10 получил 12 «левых» данных Сидя. Та же самая история идет с Кейт.)

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