Para poder ver todos los registros de nuestra base de datos con paginación y posibilidad de ordenar, cakePHP nos ofrece el componente ‘Paginator’. Para usarlo basta con indicarlo en el controlador:
public $components = array('Paginator');
Y podemos configurar diferentes opciones:
public $paginate = array( 'fields' => array('Post.id', 'Post.created'), 'limit' => 25, 'order' => array( 'Post.title' => 'asc' ) );
Para usarlas lo tendremos que indicar en la acción del controlador:
public function index() {
$this->Actor->recursive = 0;
$this->Paginator->settings = $this->paginate;
$this->set('actors', $this->Paginator->paginate( );
}
En el index habitualmente ponemos la opción ‘recursive’ a 0 para que no nos devuelva los registros relacionados. Si queremos usar las opciones modificadas del paginador lo indicamos en settings. Y para obtener los registros basta con llamar a la función ‘paginate’.
También podemos pasar condiciones a la hora de paginar:
public function index() {
$this->Actor->recursive = 0;
$this->Paginator->settings = $this->paginate;
$this->set('actors', $this->Paginator->paginate( array('first_name LIKE' => 'a%')));
}
En este caso nos muestra los actores cuyo nombre empieza por ‘a’.