如何使用与自身关联的表? 我使用 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 命名约定对您自己没有任何好处。我假设您使用的数据源不受您控制:-)
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]
),
...
)
)
关于cakephp - 如何使用与自身关联的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7944650/