2012-01-04 59 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