Datetime CakePHP获取列值

Datetime CakePHP获取列值,datetime,cakephp,Datetime,Cakephp,因此,我的web应用程序中有一个登录功能。每当用户登录时,应用程序将自动获取当前日期和时间,并将其保存在数据库列名称“current_login”中。好的,这很有效。然后,一旦用户注销,应用程序将更新列“上次登录”与“当前登录”列相同的值。因此,一旦用户再次登录,他们的主页将显示:“您上次登录的时间: 这是一个例子: 用户在01-30-2015 16:30:00登录->“当前_登录”列获取值01-30-2015 16:30:00 用户注销->“上次登录”列获取“当前登录”的值 用户于2015年1

因此,我的web应用程序中有一个登录功能。每当用户登录时,应用程序将自动获取当前日期和时间,并将其保存在数据库列名称“current_login”中。好的,这很有效。然后,一旦用户注销,应用程序将更新列“上次登录”与“当前登录”列相同的值。因此,一旦用户再次登录,他们的主页将显示:“您上次登录的时间:

这是一个例子: 用户在01-30-2015 16:30:00登录->“当前_登录”列获取值01-30-2015 16:30:00 用户注销->“上次登录”列获取“当前登录”的值 用户于2015年1月30日17:00:00登录->“当前登录”列获取值01-30-2015年17:00:00 用户主页显示您上次登录的信息:as 01-30-2015 16:30:00

我的问题是,我似乎无法更新“上次登录”列。它显示null、0000-00-00:00:00或其他奇怪的日期时间值

以下是我更新当前_登录的代码:

public function updateCurrentTime(){
            $this->User->id = $this->Auth->User('usersId');
            $this->User->saveField('current_login', DboSource::expression('NOW()'));
        }
函数updateCurrentTime正在工作

我不知道如何编写注销函数,但我已经尝试了将近一天

public function logout() {
        //insert code for 'last_login'
        return $this->redirect($this->Auth->logout());
    }

谢谢大家!

您不确定用户是否正在调用注销操作。如果他结账怎么办?我应该使用sessions表,但在您的情况下,最好的做法是将当前的\u登录值移动到上次的\u登录值,并在每次登录时将当前的\u登录设置为当前时间。我做到了。这就是我正在做的。每次用户注销时,当前\u登录和上次\u登录具有相同的值。但一旦用户再次登录,当前的_登录就会更新。不管怎样,我想我做到了。但我不知道该怎么做。