CakePHP Containable没有返回正确的结果"有很多"关系

时间:2013-03-22 15:23:15

标签: php cakephp cakephp-appmodel

有人可以告诉我为什么它不起作用:

$data = $this->Question->find('all', array(
                             'conditions' => array(
                                               'Question.id' => $qid
                                             ),
                             'contain' => array(
                                            'Slide' => array('Training')
                                          )
                   ));

关系如下:

Training -> has_many -> Slide -> has_many -> Question

那么为什么结果是这样的:

 [0] => Array
    (
        [Question] => Array
            (
                [id] => 1
            )
        [Slide] => Array
            (
                [id] => 1320
            )
    )

1 个答案:

答案 0 :(得分:1)

你在问题​​模型上调用#find。因此,您需要定义从问题到幻灯片以及从幻灯片到培训的关系,以将它们包含在结果中。尝试添加问题belongsTo Slide和Slide belongsTo Training。