我的'PatientCase'模型与我的'PatientCaseOrder'模型有一个hasOne关系。 (此表只存储了patientCase id和整数位置)
我正在使用ajax函数使用我的PatientCase控制器中的以下函数更新'PatientCaseOrder'中的位置字段
public function update_position(){
Configure::write('debug', 0);
$this->autoRender = false;
$this->loadModel('PatientCaseOrder');
$list = $_POST['list'];
$errs = false;
if($list){
foreach($list as $position){
$id = $position[0];
$pos = $position[1];
$this->PatientCase->id = $id;
if(! $this->PatientCase->PatientCaseOrder->saveField('position', $pos))
$errs = true;
}
}
echo json_encode ($errs);
}
我传递的是一个包含PatientCaseId和位置的数组。 该代码产生500服务器错误,我在哪里出错,或者我采取了错误的方法吗?
注意:我之前在PatientCase模型中有位置字段,这行代码适用于上面的代码段
$this->PatientCase->saveField('position', $pos)
答案 0 :(得分:1)
您需要更改控制器功能以获得更好的调试:
更改为Configure::write('debug', 2);
添加$this->layout = 'ajax';
并更改:if(! $this->PatientCase->PatientCaseOrder->saveField('position', $pos))
$errs = true;
为:
pr($this->PatientCase->PatientCaseOrder->saveField('position', $pos)); die;
然后在你的ajax函数中记录回调
console.log(returned_data);
并检查错误。