直接在INSERT
或UPDATE
上提交当前时间戳的方法是什么?如果我正在运行常规SQL,我会在提交时使用函数NOW()
作为特定的SQL字段。我怎么用CakePHP做到这一点?
$this->Model->save($this->data)
答案 0 :(得分:21)
在CakePHP中,您可以使用NOW()
DboSource::expression
函数
$this->data['SomeModel']['your_datetime_field'] = DboSource::expression('NOW()');
$this->Model->save($this->data);
这是在保存中包含MySQL函数的首选方法。
答案 1 :(得分:7)
如果在表中添加创建和修改的列,它们将自动填充当前时间戳。如果情况不同 - 即你想填充一个你想要修改的字段,那么最好使用edorian的解决方案。
答案 2 :(得分:0)
您可以将时间戳字段设置为自动初始化和自动更新
timestampfield TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP