我正在考虑在用户表中记录最后一次登录。
我的假设是这样的。
1)在实体中制作 $lastLogin 列。
/**
* @var \DateTime
*
* @ORM\Column(type="datetime")
*/
private $lastLogin;
2)每次用户登录时更新此数据
那么,,,每次用户登录时如何更新这个?
用户登录时会驱动哪些事件或函数?...
我正在考虑在用户表中记录最后一次登录。
我的假设是这样的。
1)在实体中制作 $lastLogin 列。
/**
* @var \DateTime
*
* @ORM\Column(type="datetime")
*/
private $lastLogin;
2)每次用户登录时更新此数据
那么,,,每次用户登录时如何更新这个?
用户登录时会驱动哪些事件或函数?...
首先,身份验证由 symfony 的 SecurityBundle 管理。
用户登录后发生的事件是 INTERACTIVE_LOGIN (security.interactive_login)。
所以你需要创建一个新的监听器/订阅者来监听这个事件。
你什么都不需要。FOSUserBundle 基类已经有一个getLastLogin()
方法,可以在其中获取您作为DateTime
对象的最后登录时间。