Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp自引用模型不起作用_Php_Cakephp_Cakephp Model - Fatal编程技术网

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'))));