Gabung paling baik digunakan di Yii dengan membuat Hubungan , dengan begitu Anda tidak perlu menulis kueri yang rumit
Mulailah dengan menambahkan kunci asing di tabel sql Anda (mis. tambahkan kunci asing patientId di kursi)
Selanjutnya jika Anda membuat ulang model Anda, Anda dapat melihat relasi yang ditambahkan secara otomatis (atau Anda dapat menambahkan relasi secara manual)
public function relations()
{
return array(
'chairs' => array(self::HAS_MANY, 'chair', 'patientId'),
);
}
Dan pada model kursi Anda akan melihat hubungannya
'patient' => array(self::BELONGS_TO, 'patient', 'patientId'),
Mendefinisikan relasi saja memungkinkan Anda mengakses nilai dalam model yang dikueri sebagai $model->relationName, jika Anda ingin menggunakan kolom dalam kondisi 'di mana', gunakan kueri berikut dalam fungsi model Anda
$patients=Patient::model()->findAll(array(
'condition' => "$field like '%$value%'",
'with'=>array('chairs'),
'select'=> "*",
));
Kata kunci "with" penting dan dapat mengambil larik daftar relasi untuk disertakan dalam kueri. Kondisi kueri akan berlaku untuk semua tabel yang disertakan, Anda dapat melewati kata kunci "dengan" di sini jika Anda tidak ingin meminta bidang dari tabel lain dan hanya memerlukan data keluaran yang ditautkan.
Dan Anda dapat mencapai kursi yang disediakan untuk pasien dengan
foreach($patients as $patient)print_r($patient->chairs);
Ada juga pendekatan lain , seperti yang dibahas di sini
Untuk lebih berhubungan dengan relasi, buka di sini