CakePHP分页器未分页
我有一个分页器,如下所示:CakePHP分页器未分页,php,cakephp,pagination,Php,Cakephp,Pagination,我有一个分页器,如下所示: var $paginate = array( 'order'=>array('ReleaseServer.server_environment'=>'ASC', 'ReleaseServer.server_name'=>'ASC'), 'joins'=>array( array( 'table'
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条,页面上只显示了一个页面
但是当一个人单击其中一个列标题对其进行排序时,一些以前不存在的行会神奇地出现,而其他行则会消失。为什么会这样
如果你需要任何其他信息,请让我知道
更新
现在,我看到问题存在于paginate
变量的组
部分,但我需要它,这样我就不会得到相同内容的多行
如何解决此问题?我通过向模型中添加一个新的
paginateCount()
函数来解决此问题:
function paginateCount($conditions = null, $recursive = 0, $extra = array())
{
$count = $this->find('count', array(
'fields' => 'DISTINCT ReleaseServer.id',
'conditions' => $conditions
));
return $count;
}