获取Cakephp

时间:2016-08-03 21:38:54

标签: php cakephp pagination cakephp-3.0

我想显示查询的总记录数。问题是我使用了paginator,所以..只显示页面的记录数量,我需要所有记录的数量。

这是我的代码:

 public function index()
{
    $paisFK = $this -> Auth -> User()['paisFK'];

    $this->paginate['contain'] = ['Ciudades'];
    $this->paginate['conditions'] = ['Ciudades.paisFK' => $paisFK];

    $complejos = $this->paginate($this->Complejos);

    $this->set(compact('complejos'));
    $this->set('_serialize', ['complejos']);

    //Obtenemos la cantidad de complejos:

    $number = $complejos->count();
    $this->set('number',$number);
}
有人可以帮帮我吗?谢谢!

2 个答案:

答案 0 :(得分:2)

paginator组件使用键paging向请求对象参数添加分页详细信息,其中数据使用表对象的别名嵌套。

检查

debug($this->request->param('paging'));

您可以通过分页器助手param()方法在视图模板中轻松访问此数据。

$this->Paginator->param('count');

此外,根据您希望如何使用该值,您还可以使用自定义格式的counter()方法。它支持各种令牌,包括{{count}}

$this->Paginator->counter('There is a total of {{count}} record(s)...');

另见

答案 1 :(得分:0)

有一个完整的解决方案,如果你按照这个,我认为解决方案在这里:

控制器:

<?= $this->Paginator->prev('<< Previous') ?>
<?= $this->Paginator->next('Next >>') ?>
<?= $this->Paginator->counter() ?>

Index.ctp:

tble

{{1}}是您的数据库表的一个示例。