如何使用Zend_Date在db中存储时间戳?

时间:2011-05-23 22:17:45

标签: mysql zend-framework

我一直在尝试使用$ rowUser-> fecha = new Zend_Date();向数据库插入时间戳。但是当我检查数据库时,我总是在该字段中找到'0000-00-00 00:00:00'。

我添加了'fecha'列(带有时间戳的列)和MySQL ALTER语句,所以也许这就是问题...我不知道。不确定这是我的zend还是SQL失败了。请修改,如果问题看起来模糊,请不要关闭主题,如有必要,我会更改或寻找更多信息。

2 个答案:

答案 0 :(得分:6)

对于任何可能关心此事的人或将来可能会遇到类似问题的人,我已经找到了解决这个问题的方法。在用户模型中:

$rowUser = $this->createRow();

    if($rowUser) {
        // update the row values
        $rowUser->email = $email;
        $rowUser->password = md5($password);
        $rowUser->url = $url;
        $rowUser->responsable = $responsable;
        $rowUser->role = $role;
        $rowUser->fecha = Zend_Date::now()->toString('yyyyMMddHHmmss');; // This is the important bit
        $rowUser->save();
        //return the new user
        return $rowUser;
    } 

你也可以使用$ rowUser-> fecha = new Zend_Db_Expr('NOW()');但如果有数据库迁移,那可能会很麻烦。

答案 1 :(得分:3)

我相信你需要使用与

类似的东西
$rowUser->fecha = new Zend_Db_Expr('NOW()');

我认为您可以使用Zend_Date组件,但您必须将其转换为正确的格式作为要插入的字符串表示。