2014-03-19 66 views
0

我想使用下面的代碼更新數據,但它生成錯誤的SQL查詢。不明白爲什麼它會產生錯誤的。請幫助我。生成錯誤的「更新」查詢cakephp

$data = array(); 
$data['Pers']['etat'] = 1; 
$data['Pers']['Activation'] = ''; 

$this->Pers->id = $results['Pers']['persID'];    
$this->Pers->save($data); 

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'bdr+.pers.persID' in 
'where  clause' 
SQL Query: UPDATE `bdr+`.`pers` SET `etat` = 1, `Activation` = '', 
`date_time` = '2014-03-19 11:33:21' WHERE `bdr+.pers.persID` = 37 

這意味着bdr+.pers.persID正在產生錯誤。不明白爲什麼它會像這樣產生。

+0

請發表您的Pers的模型文件 – arilia

回答

0

包含您的代碼bdr+.pers.persID` = '37'因爲$results['Pers']['persID']提供37

0

檢查,如果這$results['Pers']['persID']變量它返回一個正確的格式

那就試試這個

$data = array(); 
$data['Pers']['persID'] = $results['Pers']['persID']; 
$data['Pers']['etat'] = 1; 
$data['Pers']['Activation'] = '';  
//Just to make sure your model is loaded 
$this->loadModel('Pers'); 
if ($this->Pers->save($data, false)) { 
    echo 'Pres has been saved :) '; 
} 
+0

不工作..我的主ID是「persID」 – Jimit

+0

剛更新我的答案,現在就試試。 – Fury

+0

不,它不起作用 – Jimit