如何访问此值?

问题描述 投票:0回答:2

我对这项任务感到困惑。注销时,我必须访问用户登录时在其他文件中定义的$ time值。我需要在注销功能中使用其值。

我该怎么做?我已经阅读了有关访问器的信息,但是我尝试使用访问器均未成功。

BroadcastServiceProvider

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

在LoginController中

public function logout() {
       $id = auth()->id();
        $user_info = \App\UserInfo::where('user_id', $id)->first(); 
        $user_info->save(); 
        auth()->logout();
        session()->put('left',now());
        return redirect('/');
    }
laravel accessor
2个回答
1
投票

最好的方法是将其存储在数据库中,但您可以将其存储在会话中,如下所示:

    // Retrieve a piece of data from the session...
    $value = session('time-'.$user->id);

    // Store a piece of data in the session...
    session(['time-'.$user->id => now()]);


0
投票

我知道了。有一种无需访问者的简单方法。

$user_info = \App\UserInfo::where('user_id', $id)->latest()->first(); 
© www.soinside.com 2019 - 2024. All rights reserved.