CakePHP将字段保存到关联表

时间:2013-02-08 12:15:50

标签: cakephp

我的'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)

1 个答案:

答案 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);

并检查错误。