2015-05-18 45 views
3

我想在Cakephp 3.0中更新或保存一個表的特定字段。我嘗試從Cakebook中嘗試Updating Data,它正在保存數據,但問題在於它還將已修改的字段保存爲數據庫中的日期時間。在這種情況下,我不想保存這個字段。我怎麼做?如何僅更新或保存CakePHP 3.0中的特定字段?

在此先感謝

+1

可能重複[更新只有一個字段介紹CakePHP 3](HTTP://計算器。 com/questions/30218488/update-only-one-field-on-cakephp-3) – ndm

+0

是的,但是使用連接管理器類並不是必需的。文檔應該包含更好的示例@ http://book.cakephp.org/3.0/en/orm/behaviors/timestamp.html。 – mark

+0

@ndm,http://stackoverflow.com/questions/30218488/update-only-one-field-on-cakephp-3可以解決問題,但必須在同一控制器中使用** TableResigtry **再次加載表實例。所以我不需要在同一個控制器中加載它,因爲我們可以默認獲取實例。 –

回答

7

如果你不想被觸發回調,只是使用的updateAll()

$table->updateAll(['field' => $newValue], ['id' => $entityId]); 
+0

非常感謝,這工作正常 –

+0

工程很好,但關聯的領域呢?例如'$ this-> Users-> updateAll(...);'很好,但是如果Users屬於Groups,在UsersController的$ this-> Users-> Groups-> updateAll(['field'=> $ data1] ,[$ id => $ data2])'嘗試工作,但數據出來了。 'UPDATE組SET字段=:c0 WHERE =:c1' – Naidim