我正在做一个查询系统,我希望创建的每个查询都有一个日期戳(不是时间)。只是想知道我将如何去做这件事。我猜我会先获取当前日期,然后保存数据?对不起,我是新手:/
问问题
1609 次
2 回答
5
这在 CakePHP 中非常简单。
1)在数据库中的查询表中添加一个“创建”字段,并输入日期时间
2) 没有 2. 每次保存新记录时,CakePHP 都会自动用当前日期填充该字段。
注意:您可能还想添加一个“修改过的”日期时间字段。与 created 类似,每次修改和保存记录时都会自动更新。
于 2013-08-16T00:44:56.287 回答
0
只需在您的表中创建一个名为“created”且类型为 datetime 的字段,cake 就会为您完成这项工作。此 cae 中的格式为“YYYY-MM-DD HH:MM:
您可以使用 CakePHP TimeHelper格式化该日期以根据需要进行输出 - 如果这是一个硬性要求,甚至可以作为时间戳。
或者,如果您想要另一个字段作为时间戳,并且如果您在控制器中执行此操作:
$this->request->data['ModelName']['timestamp'] = time();
$this->ModelName->save($this->request->data);
最佳实践:任何数据操作都应该发生在模型中。
$this->data[$this->alias]['timestamp'] = time();
$this->save($this->data);
您可以在模型中使用 beforeSave() 回调在此处设置字段,以便它自动发生。如果您只想在创建时执行此操作,则需要添加检查。
于 2013-08-16T00:55:04.383 回答