我创建了一个应用程序,所有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)
我希望所有人都能确定我的问题。 请帮我解决正确的问题。
答案 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
然后尝试清除缓存文件并添加新记录。