我想如下做一個updateAll:如何updateAll使用CakePHP
// initialize the array
$array = array(
"Land Rover" => array("LAND ROVER")
);
// loop both arrays
foreach($array as $new => $aOld) {
foreach($aOld as $old) {
$this->updateAll(array('make = $new'), array('make = $old'));
}
}
,但我得到的錯誤:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Rover WHERE `make` = 'LAND ROVER'' at line 1
我是後是:
UPDATE items SET make = 'Land Rover' WHERE make = 'LAND ROVER';
請不要給我關於大小寫轉換的答案,因爲我有其他更多的數組元素。
如何避免該錯誤?其實,我如何轉儲完整的SQL?我在Console
中運行此代碼。
非常感謝。
編輯:我剛剛得到的SQL調試:
UPDATE `items` AS `Item` SET `Item`.`id` = make = "Land Rover" WHERE `make` = '\"LAND ROVER\"'
一個明顯的問題,但它是如何到達那裏?
指這將是挑釁幫助你http://book.cakephp.org/2.0/en/models/saving-your-data.html – liyakat 2013-05-11 11:16:37
@liyakat我已經有了。通過調整所示示例,我得到了錯誤。 – khany 2013-05-11 11:46:58