私はVisitテーブルとConsultテーブルの両方がテーブルPatientを介して関連付けられています。つまり、visitテーブルとConsultテーブルには外部キーpatient_idがあります。この2つのテーブル(VisitとConsult)を1回の編集アクションで編集する必要があります。つまり、編集ビューでは両方のテーブルのデータが表示されます。どのモデルを使用する必要がありますか?ありがとう.........
1 に答える
0
3つのテーブルには別々のモデルがあり、CakePHPAssociationsを介して関連付けられている必要があります。
あなたの場合(私が理解しているように)、あなたは以下の関連を持っています:
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)
3つのモデル(Patiend、Visit、Consult)の適切な場所でこれらを定義し、CakePHPの規則に従っている場合、たとえば、Patients 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にはPatientレコードと、VisitおよびConsultモデルからのすべての関連レコードが適切な配列構造で含まれます(もちろん、このIDを持つPatientが存在する場合)。
あなたの言うことから、CakePHPモデルの関連付けを理解しているかどうかはわかりません。リンクをチェックしてください。
お役に立てれば。
乾杯、ボリスラフ。
于 2012-05-03T09:37:33.783 に答える