2015-06-17 15 views
0

我有一個表lists。該列表一次填充多行。表格第一次填滿3行。此後,此表的任何更新可能是2行或6行。如何更新cakephp中的多行

我想相應地刪除/更新。這意味着,如果下一次更新的行數少於當前行數,那麼其餘行應該被刪除。或者,如果下一行大於當前行,則相應的行應更新,其餘行將添加自動遞增的ID。

我正在使用CakePHP 2.6.7。

+0

您使用的是什麼版本的CakePHP? – Oldskool

+0

我正在使用CakePHP 2.6.7 –

+0

刪除所有行並再次插入更新的行將不會更容易嗎? – Eagle

回答

1

我不知道如果我理解你的問題,但也許你想使用類似Model::saveAll()

$data = array(
    array('id' => 1, 'body' => 'Comment 1'), 
    array('id' => 2, 'body' => 'Comment 2') 
); 
$this->Comment->saveAll($data); 

將執行以下命令:

UPDATE `blog`.`comments` SET `id` = 1, `body` = 'Comment 1' WHERE `blog`.`comments`.`id` = 1 

UPDATE `blog`.`comments` SET `id` = 2, `body` = 'Comment 2' WHERE `blog`.`comments`.`id` = 2 

要刪除多個記錄使用Model::delete()

$this->Comment->delete(array(1, 2), false); 

這將執行th Ë以下SQL命令:

DELETE `Comment` FROM `blog`.`comments` AS `Comment` WHERE `Comment`.`id` IN (1, 2)` 

瞭解更多關於Model::updateAll()Model::saveAll()here,以及有關Model::delete()Model::deleteAll()here

我希望這會幫助你。