0

我有访问和咨询表都通过表患者相关。即访问和咨询表有外键patent_id。我必须在单个编辑操作中编辑这两个表(访问和咨询)。即在编辑视图中,两个表数据都应该显示。我必须使用什么型号?谢谢.........

4

1 回答 1

0

这三个表应该有单独的模型,并通过Cake PHP Associations相关联。

在您的情况下(据我了解),您有以下关联:

Patient hasMany Visit     (via Visit.patient_id)
Patient hasMany Consult   (via Consult.patient_id)
Visit belongsTo Patient   (via Visit.patient_id)
Consult belongsTo Patient (via Consult.patient_id)

当您在三个模型(Patiend、Visit 和 Consult)的适当位置定义了这些,并且如果您已遵循CakePHP 约定,如果您想查看所有这些数据,例如在患者控制器的 edit() 操作中,您可以执行以下操作:

public function edit($id = null) {
    $this->Patient->id = $id;
    if ($this->Patient->exists()) {
        $patient = $this->Patient->find('first', array('conditions' => array('id' => $id)));
    }
}

现在 $patient 将包含来自 Visit 和 Consult 模型的 Patient 记录及其所有相关记录,采用一个很好的数组结构(当然前提是存在具有此 id 的 Patient)。

根据您所说的,我不确定您是否了解 CakePHP 模型关联。查看链接。

希望这可以帮助。

干杯,鲍里斯拉夫。

于 2012-05-03T09:37:33.783 回答