すでに何をしたのか、コントローラー/モデルの名前がわからないので、基本的な考え方を理解するのに役立つコードサンプルを配置します。
Hpsasモデルでは、「多対1」の関係が定義されています。
class Hpsas extends AppModel {
public $belongsTo = array(
'uniqueAlias1' => array(
'className' => 'Ldaps',
'foreignKey' => 'ciname'
)
);
/...
Ldapsモデルでは、「1対多」の関係が定義されています。
class Ldaps extends AppModel {
public $hasMany = array(
'uniqueAlias2' => array(
'className' => 'Hpsas',
'foreignKey' => 'ciname'
),
);
/...
ここで、コード$this->Hpsas->find('all')
を実行すると Hpsassコントローラーでは、次の結果が得られる可能性があります。
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
)
サンプルで使用したエイリアスについて混乱しないでください。好きな名前を付けることができます。同じモデルの複数の関連付けを処理する必要がある場合に便利です。より詳細な説明サンプルは、ドキュメント 。