提交CakePHP中的当前时间戳

时间:2010-09-29 15:34:28

标签: php cakephp cakephp-1.3

直接在INSERTUPDATE上提交当前时间戳的方法是什么?如果我正在运行常规SQL,我会在提交时使用函数NOW()作为特定的SQL字段。我怎么用CakePHP做到这一点?

$this->Model->save($this->data)

3 个答案:

答案 0 :(得分:21)

在CakePHP中,您可以使用NOW()

包含未转义的DboSource::expression函数
$this->data['SomeModel']['your_datetime_field'] = DboSource::expression('NOW()');
$this->Model->save($this->data);

这是在保存中包含MySQL函数的首选方法。

http://api.cakephp.org/2.3/class-DboSource.html#_expression

答案 1 :(得分:7)

如果在表中添加创建和修改的列,它们将自动填充当前时间戳。如果情况不同 - 即你想填充一个你想要修改的字段,那么最好使用edorian的解决方案。

答案 2 :(得分:0)

您可以将时间戳字段设置为自动初始化和自动更新

timestampfield TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

http://dev.mysql.com/doc/refman/5.0/en/timestamp.html