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’.