建模两个不同的表

时间:2012-04-30 09:01:05

标签: cakephp-1.3

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

1 个答案:

答案 0 :(得分: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 and Consult)中的相应位置定义了这些,并且如果您想要查看所有这些数据,请遵循CakePHP Conventions。在您可以执行的Patient Controller 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将包含患者记录及其所有相关记录 以一个很好的阵列结构访问和咨询模型(当然,如果患者存在这个ID)。

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

希望这有帮助。

干杯,    鲍里斯拉夫。