2011-08-10 35 views
2

看看我的數據庫表,我看到創建的字段總是被設置爲「0000-00-00 00:00:00」。修改後的字段由合理的日期自動填充。爲什麼CakePHP 1.3自動填充「修改」但不是「創建」字段?

在我看來很奇怪,automagic會得到修改權,但不創建。據我所知,我沒有做過任何能夠解決創造的領域價值的問題 - 例如在某處指定它。是否有任何明顯的CakePHP「陷阱」,我可能已經陷入了犯規,可能以某種方式搞亂了我創建的領域?

+0

只是一個猜測,但:你只能有一列current_timestamp作爲默認值。因此,如果將創建的設置設置爲默認爲current_timestamp,則只需自動填充修改的字段。 – Jacob

+1

@cularis不正確,它不是默認值,如果某個字段被命名爲「created」,以便在調用save時自動填充該值,則它是默認的CakePHP行爲。它必須是DateTime類型的,我相信這是由於它顯示的方式。這裏還有別的東西在發生。 – stephenbayer

+0

你可以發佈你的模型代碼嗎?還是讓CakePHP處理這一切?另外,您是否可以發佈正在保存新項目的控制器方法?另外,請確保視圖中沒有隱藏的字段引用創建的字段 – stephenbayer

回答

2

我可以在documentation找到的唯一的事情是,CakePHP的唯一控制,如果它被稱爲「創造」,是DateTime類型,默認值設置爲NULL這個領域。你能證實你的表中所有這些都是真的嗎?

+0

我認爲這可能是這樣做的,因爲我看着我的表和創建的字段確實禁用了「允許null」。然而,修改字段也是如此,他們正在工作?我改變了其中的一個表格,以創建一個NULL缺省值並添加一條新記錄,但創建和修改的日期仍然以一堆零的形式出現。 (實際上,這可能會說一些有趣的東西 - 那個修改後的工作纔會起作用,而不是最初的保存點?)Bah。 – thesunneversets

+0

這很有趣。技術在平穩運行時非常棒。沒有那麼多,當它不。你有一個像xDebug一樣調試Eclipse的IDE嗎?任何時候,如果我真的感到沮喪,我會在調試器中逐行進入代碼,直到找到發生垃圾的地方。 – stephenbayer

+0

哦,你好,它是從我的開發環境開始工作,只是不活。那裏一定不是最新的。現在開始精確地找出問題的艱辛操作! – thesunneversets

相關問題