Agregar valor de paginación a la respuesta json en Cakephp 3.3
pagination cakephp-3.0 (1)
Estoy intentando agregar el número de páginas de valor paginado a la respuesta json para Cakephp 3.3. Seguí la documentación de Cakephp 3.3 para hacer consultas usando el método del paginador y activé la extensión json donde solo tienes que agregar .json al final de tu controlador y la función para obtener una respuesta json. Los resultados que obtengo son la primera página de la paginación; sin embargo, me gustaría agregar un parámetro antes que me diga cuántas páginas se han paginado para poder mostrar cuántas páginas más se pueden continuar. Ejemplo de la respuesta json que estoy tratando de obtener está debajo con páginas que son el valor del paginador:
{ pages: [pages:5],
clients: [
{
id: 1,
first_name: "Kirby",
last_name: "Bonner"
}]
}
Me han dicho varias veces que revise la documentación, pero para ser sincero, no veo una explicación clara de lo que trato de hacer aquí. Realmente apreciaría si alguien pudiera dirigirme a un ejemplo o documentación que explique claramente cómo hacer esto. Gracias.
Encontré la respuesta a la pregunta en: http://florian-kraemer.net/2015/10/cakephp-angularjs-pagination/
Sin embargo, tiene que poner la validación para la paginación después de completar la consulta; de lo contrario, siempre devolverá falso;
Aquí hay un ejemplo del código:
public function index() {
$query = $this->Table->find();
if (empty($this->request->params[''paging''][$this->Table->alias()])) {
$paging = false;
} else {
$paging = $this->request->params[''paging''][$this->Table->alias()];
}
$this->set(''records'', $this->paginate($query));
$this->set(''paging'', $paging);
$this->set(''_serialize'', [''records'', ''paging'']);
}