2

我正在做一个查询系统,我希望创建的每个查询都有一个日期戳(不是时间)。只是想知道我将如何去做这件事。我猜我会先获取当前日期,然后保存数据?对不起,我是新手:/

4

2 回答 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 回答