我试图使用下面的代码更新数据,但它正在生成错误的SQL查询。不明白为什么生成的是错误的。请帮帮我。
$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
生成错误。不明白为什么会产生这样的结果。
检查$results['Pers']['persID']
变量是否返回正确的格式
then try this
$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 :) ';
}
您的代码包含bdr+.pers.persID` = '37'
,因为$results['Pers']['persID']
提供37