创建的修改函数(默认)在Cakephp 1.2版本中不起作用

时间:2012-01-04 12:08:36

标签: cakephp

我创建了一个应用程序,所有db表都有'created,modified'字段,这些字段由Cakephp的默认功能自动填充。 我把字段类型设为

created datetime NULL,
modified datetime NULL,

等。 但它不起作用。显示0000-00-00 00:00:00格式的数据。

cakephp版本是1.2,所以我把datetime NULL选项,我也删除了模型中的temp,cache文件。

我需要保存正确的日期&这两个字段的时间格式。

如果XAMPP版本有任何问题(我使用最新版本的XAMPP,1.7.7 PHP:5.3.8& mysql v 5.5.16)

我希望所有人都能确定我的问题。 请帮我解决正确的问题。

2 个答案:

答案 0 :(得分:4)

我有一个类似的问题,但是在CakePHP 2.1.3中,创建和修改的列插入了一堆零而不是当前的日期时间。

我的问题是相关模型的现有缓存。我不得不删除现有的模型缓存,以使这个自动日期时间工作。缓存位于:app / tmp / cache / models /。

我认为我首先遇到了这个问题,因为我在初始创建后更改了表的结构,添加了创建的字段。

删除模型缓存一次后,工作正常。

答案 1 :(得分:2)

你的帖子不清楚;但你需要将默认值设置为null,并将字段设置为null(总是让我困惑):

ALTER TABLE `your_table` CHANGE `created` `created` DATETIME NULL DEFAULT NULL

ALTER TABLE `your_table` CHANGE `modified` `modified` DATETIME NULL DEFAULT NULL

然后尝试清除缓存文件并添加新记录。