2014-02-10 29 views
0

我試圖調用ModelA上的updateAll函數並更新文本列,但CakePHP不會將撇號添加到SQL命令。CakePHP - 生成不帶撇號的SQL更新語句

是否有任何特殊設置可以使其生效?是否需要手動進行消毒?

我使用CakePHP 2.3和MySQL 5.1

CakePHP的

$this->User->updateAll(
     array('User.about_me' => $about), 
     array('User.id' => $id)    
); 

SQL命令

UPDATE `test`.`users` AS `User` 
SET `User`.`about_me` = Nunc posuere risus sed elit ornare malesuada. 
WHERE `User`.`id` = 8956954 
+0

是一個模型裏面你的CakePHP的代碼? – Leonardo

+0

不,代碼位於用戶控制器中 – vlcik

回答

0

是的,這個人是有點意外,但如果你打開菜譜和閱讀關於updateAll,明確指出「文字值應使用DboSource::value()手動引用」。或者,如果你不使用的用戶輸入,你可以給它喜歡自己:array('User.state' => "'active'")

更多here