分组包含模型

时间:2013-03-03 20:20:49

标签: cakephp cakephp-2.2

PresentationView hasMany SlideView

SlideView模型具有字段持续时间。

presentation_duration =属于演示文稿的幻灯片视图中所有SlideView.duration字段的总和。

我想获得每个演示文稿的presentation_duration演示文稿的列表(分页)。 到目前为止,我正在尝试这样:

$this->paginate['contain'] = array(
            'PresentationView' => array(
                'SlideView' => array(
                    'group' => 'SlideView.presentation_view_id',
                                    // 'conditions' => array('group' => 'SlideView.presentation_view_id'),
                )
            )
        ); 

注释行是我尝试过的一个选项。

两种方法最终都会出现一些SQL错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'SlideView.group' in 'fieldlist'

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'group' in 'where clause'

似乎contain甚至无法识别group密钥 - 是否可以使用这样的分组?如果是,我该怎么做?

1 个答案:

答案 0 :(得分:3)

您无法将“群组”传递给“包含”。为了做你希望做的事情,你需要使用JOIN - 参见CakePHP Joining Tables