我遇到类似这篇文章的问题: Laravel - last login date and time timestamp
简而言之,我的目的和问题是:
我该怎么做:
感谢您的支持。
--------------------更新--------------------
我意识到在我的 auth.php 文件中,默认身份验证模型已设置为:
'model' => 'User'
但我想倾听并使用用户和 Logrecord 模式。所以当我尝试在 global.php file,laravel会自动尝试使用User模型。所以我必须配置我的事件监听器:
global.php 文件的一部分:
//First Example
Event::listen('auth.login', function($user)
{
$userLogRecord = Logrecord::firstOrCreate(array('user_id' => $user->id));
$userLogRecord->user_id = $user->id;
$userLogRecord->login_last_at = date('Y-m-d H:i:s');
$userLogRecord->save();
});
//Second Example
Event::listen('auth.logout', function($user)
{
$userLogRecord = Logrecord::firstOrCreate(array('user_id' => $user->id));
$userLogRecord->user_id = $user->id;
$userLogRecord->logout_last_at = date('Y-m-d H:i:s');
$userLogRecord->save();
});
它现在正在运作,但我认为编辑我的听众不是一个好主意。 我的目的是倾听并使用User和Logrecord模型进行一些处理。它现在符合我的目的,但我觉得我必须改进。
有什么想法吗?
答案 0 :(得分:1)
@DemonDrake,
如果我理解正确,您只想将数据添加到" log"表? 在最简单的形式中,答案是"是的,你会使用雄辩的ORM
class Log extends Eloquent {
protected $table = 'log';
}
或者甚至可能是查询构建器。 有很多方法可以做到这一点。我个人建议您查看https://laracasts.com/lessons