Nejste si jisti, co jste již udělali a jak se váš řadič/model jmenuje, tak jsem vložil pouze ukázky kódu, které mohou pomoci pochopit základní myšlenku.
V modelu Hpsas je definován vztah „mnoho na jednoho“.
class Hpsas extends AppModel {
public $belongsTo = array(
'uniqueAlias1' => array(
'className' => 'Ldaps',
'foreignKey' => 'ciname'
)
);
/...
V modelu Ldaps je definován vztah „jeden k mnoha“.
class Ldaps extends AppModel {
public $hasMany = array(
'uniqueAlias2' => array(
'className' => 'Hpsas',
'foreignKey' => 'ciname'
),
);
/...
Nyní proveďte kód $this->Hpsas->find('all')
na ovladači Hpsass pravděpodobně získáte následující výsledky:
array(
(int) 0 => array(
'uniqueAlias1' => array(
//hpsas table row with value
),
'uniqueAlias2' => array(
//ldaps table row where hpsas.ciname = ldaps.ciname
)
),
//rest hpsas table rows
)
Nenechte se zmást aliasem, který jsem použil v ukázkách, můžete si pojmenovat, co chcete. Přijdou vhod, když je potřeba řešit asociaci násobků pro stejný model. Podrobnější vysvětlené ukázky lze nalézt na dokumentace .