0
我有一個表lists
。該列表一次填充多行。表格第一次填滿3行。此後,此表的任何更新可能是2行或6行。如何更新cakephp中的多行
我想相應地刪除/更新。這意味着,如果下一次更新的行數少於當前行數,那麼其餘行應該被刪除。或者,如果下一行大於當前行,則相應的行應更新,其餘行將添加自動遞增的ID。
我正在使用CakePHP 2.6.7。
我有一個表lists
。該列表一次填充多行。表格第一次填滿3行。此後,此表的任何更新可能是2行或6行。如何更新cakephp中的多行
我想相應地刪除/更新。這意味着,如果下一次更新的行數少於當前行數,那麼其餘行應該被刪除。或者,如果下一行大於當前行,則相應的行應更新,其餘行將添加自動遞增的ID。
我正在使用CakePHP 2.6.7。
我不知道如果我理解你的問題,但也許你想使用類似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
我希望這會幫助你。
您使用的是什麼版本的CakePHP? – Oldskool
我正在使用CakePHP 2.6.7 –
刪除所有行並再次插入更新的行將不會更容易嗎? – Eagle