2009-07-10 24 views
2

基本上,我想在MySQL中實現與ON DUPLICATE KEY一樣的功能。Cakephp模型類中的save方法是否可以選擇創建和更新記錄?

這裏是一個人爲的例子:

 
$rec = array('Foo' => array(
    'id' => 999, // Assume there isn't already a record with this id 
    'website' => 'google' 
)); 
$this->Foo->save($rec); 

// save with different 'website' value 
$rec['Foo']['website'] = 'stackoverflow'; 
$this->Foo->save($rec); 

是否最後一行更新創建短短的幾行了記錄?

回答

10

如果您致電save(),提供一個現有的id(或任何主鍵)的記錄,它將更新,否則它將創建一個新記錄。

所以在你的情況下,是的,它會更新最先創建的記錄。

更新

這裏的the supporting documentation

創建或更新由 模型的id字段控制。如果$ Model-> id設置爲 ,則更新此主鍵 的記錄。否則創建一個新記錄 。

根據Model::save()的文檔。

+0

謝謝,彼得。你達人。 – allyourcode 2009-07-10 03:20:21

相關問題