У меня есть пагинатор следующим образом:
var $paginate = array(
'order'=>array('ReleaseServer.server_environment'=>'ASC',
'ReleaseServer.server_name'=>'ASC'),
'joins'=>array(
array(
'table' => 'release_server_to_components',
'alias' => 'ReleaseServerToComponent',
'type' => 'LEFT',
'foreignKey' => false,
'conditions'=> array('ReleaseServer.id = ReleaseServerToComponent.release_server_id')
),
array(
'table' => 'release_components',
'alias' => 'ReleaseComponent',
'type' => 'LEFT',
'foreignKey' => false,
'conditions'=> array('ReleaseServerToComponent.release_component_id = ReleaseComponent.id')
)
),
'group'=>array('ReleaseServer.id'),
'contain' => array(
'ReleaseServerToComponent' => array(
'ReleaseComponent' => array(
'Release'
)
)
),
'limit' => 25,
);
Затем в своей функции контроллера я делаю следующее:
$this->set('allServers', $this->paginate('ReleaseServer', $conditions));
Где $conditions
- некоторые дополнительные условия для запроса.
Как вы видите выше, я установил ограничение на 25.
Однако в базе данных 29 записей, но на странице отображается только 25, а на странице написано, что есть только одна страница.
но , когда человек нажимает на один из заголовков столбцов, чтобы упорядочить их, некоторые строки, которых раньше не было, волшебным образом появляются, а другие исчезают. С чего бы это?
Если вам нужна другая информация, пожалуйста, дайте мне знать
UPDATE
Теперь я вижу, что проблема заключается в group
части переменной paginate
, но она мне нужна для того, чтобы сделать так, чтобы я не получил несколько строк одного и того же.
Как мне это исправить?