CakePHP find('резьбовое') разбиение на страницы
Я новичок в cakePHP и дошел до того, что мне нужно сделать нумерацию страниц.
Таблица комментариев имеет parent_id, и многопоточный запрос работает правильно, поэтому теперь я хочу разбить результаты на страницы.
Моя проблема в том, что ограниченный SQL-запрос влияет на все полученные комментарии, и я хочу ограничить только родительские, потому что, с другой стороны, он оставляет ответы в запросе.
Надеюсь, я буду ясен, и вы можете мне помочь.
Благодарю.
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. Таким образом, ограничение влияет только на родителей
Вам, вероятно, нужно сделать запрос только для родителей (темы?), А затем еще один запрос для каждого дерева ниже.