2012-01-04 55 views
1

工作,我创建的应用程序,所有的数据库表有“创建,修改”通过CakePHP的默认功能自动填写领域。 而我把字段类型是创建修改功能(默认)未在CakePHP 1.2版本

created datetime NULL, 
modified datetime NULL, 

like。 但它不起作用。数据在哪里显示0000-00-00 00:00:00格式。

CakePHP的版本是1.2,所以我把日期时间NULL选项,还我删除临时,缓存文件的模型。

我需要保存正确的日期&时间格式的2场。

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

我希望所有人都标识了我的问题。 请帮助我正确的解决方案。

回答

4

我也有类似的问题,但在CakePHP中与创建和修改列插入一堆零,而不是当前日期时间的2.​​1.3。

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

我想我首先有这个问题,因为我改变了表的结构及其初始创建后,将创建的领域。

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

+0

谢谢Dudes,它工作正常... – Jayaprakash 2013-05-16 12:26:53

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 

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

+0

谢谢你的回复,我已经为每张表添加了相同的内容。这里的表字段,已创建,修改已经设置为创建日期时间NULL, 修改日期时间NULL,但数据存储在这里为0000-00-00 00:00:00。但代码不起作用。 – Jayaprakash 2012-01-04 13:03:24

+1

上述解决方案将工作,但您不需要将创建的字段设置为NULL。你可以把它作为NOT NULL,Cake仍然会自动插入日期。唯一需要注意的是确保没有默认值。只要没有默认值,它将正常工作,NULL或NOT NULL – Joseph 2012-02-21 09:09:49

+0

DEFAULT NULL是推荐的方法,但是,以避免无效的零日期@Joseph – mark 2014-07-08 10:26:48