CakePHP находит ('резьбовое') разбиение на страницы - PullRequest
1 голос
/ 23 декабря 2009

Я новичок в cakePHP и дошел до того момента, когда мне нужно сделать нумерацию страниц.

Таблица комментариев имеет parent_id, а многопоточный запрос работает правильно, поэтому теперь я хочу разбить результаты на страницы.

Моя проблема в том, что ограниченный запрос sql влияет на все полученные комментарии, и я хочу ограничить только родительские комментарии, потому что в противном случае он оставляет ответы вне запроса.

Надеюсь, я проясню, а ты мне поможешь.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 25 апреля 2011

Использование:

    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. Таким образом, ограничение влияет только на родителей

0 голосов
/ 26 января 2010

Вам, вероятно, нужно выполнить запрос только для родителей (тем?), А затем еще один запрос для каждого дерева ниже.

...