2013-02-17 72 views
0

如何在CakePHP HABTM表中保存元素的創建日期,我嘗試使用創建的字段,正如其他表中的正常情況一樣,但這不起作用。 我也試圖挽救了一個日期時間在我的控制器這樣做:在表HABTM中創建的保存字段HABTM

$data = array ('created' => date ('Y-m-d H:i:s ")); 
$this->model->UpdateAll($data,$conditions); 

但它不工作,它有一個SQL錯誤H:I:S

MySQL server version for the right syntax to use near '12:56:32' 

有誰知道任何方式做到這一點?

+0

是'created'您的數據庫中'datetime'? – Ross 2013-02-17 12:06:55

+0

是的,我有一個創建DateTime字段的表,如第一個教程所示cakephp – Martin 2013-02-17 12:11:40

回答

0

我發現在數據庫中解決錯誤插入日期時:

$time = "'". date (' Y-m-d H: i: s '). "'"; 
$data = array ('created' => $time); 
$this-> model-> UpdateAll ($ data, $ conditions); 

但我還沒有找到自動完成的解決方案,表HABTM創建領域

+0

你的意思是automagic? 'created'(和'modified')需要是'datetime'和'NULL'。蛋糕將完成剩下的事情。 – Ross 2013-02-17 14:39:55

+0

是的,我知道這一點,但它在HABTM表中不起作用,當創建的元素隱含了創建父項 – Martin 2013-02-17 16:48:56

1

您可以爲連接表創建單獨的模型。例如,如果您有模型用戶和模型帖子以及用戶HABTM帖子,那麼您還有一個表usersposts。您可以創建模型userposts,分配給用戶模式的新關係的hasMany userposts最後由用戶控制的呼叫:

$data = array ('created' => date ('Y-m-d H:i:s'));
$this->User->UsersPosts->save($data);

+0

是的,我試試這個! :)但我有這個錯誤'MySQL服務器版本爲正確的語法使用附近'12:56:32'' – Martin 2013-02-17 12:00:30

+0

嗯,我已經做了'$ this-> model-> UpdateAll($ data,$ conditions);'但它是一樣的 – Martin 2013-02-17 12:03:00

+0

也許你的數據庫模式不正確?你有一個DATETIME字段用於'created'而不是DATE字段嗎? – 2013-02-17 12:20:43