Cakephp如何设置限制到关联模型?

时间:2013-09-10 05:12:43

标签: cakephp model paginator

使用paginator组件时,如何设置限制关联模型(下面代码中的“Comment”模型)。 我使用下面的代码,但没有工作:

$this->Paginator->settings = array(
            'Post' => array(
                    'recursive' => 1,
                    'conditions' => $conditions,
                    'limit' => 10,                    
            ),
            'Comment' => array(
                    'limit' => 1
            )
    );

2 个答案:

答案 0 :(得分:2)

您应该使用Containable行为(在Post模型中):

public $actsAs = array('Containable');

然后,您的Paginator设置应如下所示:

$this->Paginator->settings = array(
        'contain' => array(
            'Comment' => array(
                'limit' => 1
            )
        ),
        'conditions' => $conditions,
        'limit' => 10,
    );

答案 1 :(得分:-1)

你有帖子有很多评论吗?
如果是,您可以在Post模型中通过变量$ hasMany设置限制:

class Post extends AppModel {
    public $hasMany = array(
        'Comment' => array(
            'className' => 'Comment',
            //...
            'limit' => '1'));
}