Spojení se nejlépe používají v Yii vytvořením vztahů , takže nebudete muset psát složité dotazy
Začněte přidáním cizích klíčů do vašich SQL tabulek (např. přidejte cizí klíč patientId na židli)
Poté, pokud znovu vytvoříte svůj model, uvidíte, že vztahy byly automaticky přidány (nebo můžete vztahy přidat ručně)
public function relations()
{
return array(
'chairs' => array(self::HAS_MANY, 'chair', 'patientId'),
);
}
A v modelu židle uvidíte vztah
'patient' => array(self::BELONGS_TO, 'patient', 'patientId'),
Samotné definování vztahu vám umožní přístup k hodnotám v dotazovaném modelu jako $model->relationName, pokud chcete použít sloupec v podmínce 'kde', použijte ve svých modelových funkcích následující dotaz
$patients=Patient::model()->findAll(array(
'condition' => "$field like '%$value%'",
'with'=>array('chairs'),
'select'=> "*",
));
Klíčové slovo „with“ je důležité a může zahrnovat řadu seznamů vztahů, které lze do dotazu zahrnout. Podmínka dotazu se bude vztahovat na všechny zahrnuté tabulky. Klíčové slovo "with" zde můžete přeskočit, pokud nechcete dotazovat pole z jiné tabulky a potřebujete pouze propojit výstupní data.
A na křesla přidělená pacientovi se dostanete pomocí
foreach($patients as $patient)print_r($patient->chairs);
Existují i jiné přístupy, jako je ten, o kterém se diskutuje zde
Chcete-li získat více kontaktů se vztahy, přejděte sem