Cakephp 如何使用与自身关联的表?

Cakephp 如何使用与自身关联的表?,cakephp,associations,Cakephp,Associations,如何使用与自身关联的表? 我使用cakephp,表是第节: create table SECTIONS ( SECTIONID int(11) not null auto_increment, TITLE char not null, CONTROLID int(11) not null, SECTIONPARENTID int(11), primary key (SECTIONID

如何使用与自身关联的表? 我使用cakephp,表是第节:

create table SECTIONS
(
   SECTIONID            int(11) not null auto_increment,
   TITLE                char not null,
   CONTROLID            int(11) not null,
   SECTIONPARENTID      int(11),
   primary key (SECTIONID)
)
此表与自身有关联,我使用的是“属于”,并且有许多关联,我的模型是:

class Section extends AppModel {
    var $name = 'Section';
    var $primaryKey = 'SECTIONID';
    var $displayField = 'TITLE';
}
我用属于和有很多联系的两个表。但我不能在这个例子中使用。
谢谢你的帮助。

一旦你知道了诀窍,自我参照模型在Cake中很简单,但是不使用Cake命名约定对你自己没有任何好处。我假设您使用的数据源超出了您的控制:-)

当您运行诸如$this->Section->find('first')之类的查询时,您将得到一个返回的数组,如下所示:

section => array(
  SECTIONID,
  ...
  'Parent'=>array(
    'SECTIONID',
    ....
  ),
  'Children'=>array(
    [0] => array(
      [SECTIONID]
    ),
    [1] => array(
      [SECTIONID]
    ),
    ...
  )
)
section => array(
  SECTIONID,
  ...
  'Parent'=>array(
    'SECTIONID',
    ....
  ),
  'Children'=>array(
    [0] => array(
      [SECTIONID]
    ),
    [1] => array(
      [SECTIONID]
    ),
    ...
  )
)