Cakephp自引用模型不起作用
我有一张桌子Cakephp自引用模型不起作用,php,cakephp,cakephp-model,Php,Cakephp,Cakephp Model,我有一张桌子 Medias: ID, PARENT_ID PATH TITLE Items: ID medias Title description 模型 class ImageGallery extends AppModel { public $name = 'ImageGallery'; public $useTable = "medias"; var $belongsTo = array(
Medias:
ID,
PARENT_ID
PATH
TITLE
Items:
ID
medias
Title
description
模型
class ImageGallery extends AppModel {
public $name = 'ImageGallery';
public $useTable = "medias";
var $belongsTo = array(
'Parent' =>
array('className' => 'ImageGallery',
'foreignKey' => 'parent_id',
'dependent' => false,
),
);
var $hasMany = array(
'Children' =>
array('className' => 'ImageGallery',
'foreignKey' => 'parent_id',
'dependent' => false,
),
);
}
class Item extends AppModel {
public $useTable = "items";
public $validate = array(
'title' => array(
'rule' => 'notEmpty'
),
);
public $belongsTo = array(
'Gallery' => array(
'className' => 'ImageGallery',
'foreignKey' => 'medias'),
);
public $hasMany = array(
'ItemMeta' => array( 'className' => 'ItemMeta'),
);
}
媒体表包含库信息。图像存储在父对象id关系中
当我请求Item->find('all')代码>我只从媒体表中获取一个条目,但我也想获取其所有子项:(
我可以通过使用$this->ImageGallery->findById(10);
获取其子项,但我希望使用项目模型获取它们。使用可包含行为指定希望查询获取的关联模型
如果您希望深入到不仅仅是子级,例如如果您想要获取树的其余部分,那么您需要编写一些东西来递归地获取子级、子级的子级等,或者您可以修改代码和模型以利用CakePHP的树行为。请参阅和
$this->Item->find('all', array('contain' => array('ImageGallery' => array('Children'))));