我被这项任务困住了。注销时,我必须访问用户登录时在其他文件中定义的$ 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('/');
}
答案 0 :(得分: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()]);
答案 1 :(得分:0)
我知道了。有一种无需访问者的简单方法。
$user_info = \App\UserInfo::where('user_id', $id)->latest()->first();