1
PresentationView hasMany SlideView

SlideViewモデルにはフィールド期間があります。

SlideView.durationpresentation_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-このようなグループ化を使用することさえ可能ですか? はいの場合、どうすればできますか?

4

1 に答える 1

3

「contain」に「group」を渡すことはできません。やりたいことを実行するには、JOIN を使用する必要があります - CakePHP Joining Tablesを参照してください。

于 2013-03-03T22:44:54.210 に答える