CakePHP查找('线程')分页

时间:2009-12-23 11:43:32

标签: cakephp pagination threaded-comments

我对蛋糕PHP有点新意,并且到了我必须做分页的那一刻。

评论表有一个parent_id,并且线程查询工作正常,所以现在,我想对结果进行分页。

我的问题是有限的sql查询会影响所有检索到的注释,我只想限制父项,因为另一种方式,它会将回复留在查询之外。

希望我能说清楚,你可以帮助我。

感谢。

2 个答案:

答案 0 :(得分:2)

使用:

    var $hasMany = array(
            'ChildComment' => array(
                    'className' => 'ProfileComment',
                    'foreignKey' => 'parent_id',
                    'conditions' => '',
                    'dependent' => true,
                    'fields' => '',
                    'order' => 'created ASC'
            )
    );

        var $belongsTo = array(
            'ParentComment' => array(
                    'className' => 'ProfileComment',
                    'foreignKey' => 'parent_id',
                    'conditions' => '',
                    'fields' => '',
                    'order' => ''
            ));

然后在查找中:

$comments = $this->User->ProfileComment->find('all', array(
                'limit' => $this->incNumber,
                'offset' => $page*$this->incNumber,
                'conditions' => array('ProfileComment.parent_id' => null, 'ProfileComment.user_id' => $id),
                'order' => 'ProfileComment.created DESC'
            ));

您必须为您的目的自定义代码,但关键点是关系,并且查找条件具有parent_id = null。这样限制只会影响父母

答案 1 :(得分:0)

您可能只需要查询父项(主题?),然后查询下面每个树的另一个查询。