Самоссылочные модели просты в Cake, когда вы знаете хитрость, но вы не оказываете никакой пользы, не используя соглашения по именованию Cake.Я предполагаю, что вы используете источник данных, который находится вне вашего контроля: -)
Class Section extends AppModel {
var $belongsTo = array(
'Parent'=>array(
'className'=>'Section',
'foreignKey'=>'SECTIONPARENTID'
)
);
var $hasMany = array(
'Children'=>array(
'className'=>'Section',
'foreignKey'=>'SECTIONPARENTID'
)
);
}
Когда вы выполните запрос, такой как $ this-> Section-> find ('first'), вы будетеполучить возвращенный массив, который выглядит следующим образом:
section => array(
SECTIONID,
...
'Parent'=>array(
'SECTIONID',
....
),
'Children'=>array(
[0] => array(
[SECTIONID]
),
[1] => array(
[SECTIONID]
),
...
)
)