Obtener una página concreta paginando con Laravel

Otra de paginaciones con Laravel 💃

Por defecto, Laravel ya tiene el sistema de paginación integrado y solo con pasarle el query param «page» ya el framework reconoce que queremos paginar (Siempre y cuando tengamos en el controlador el método «paginate»).

/posts?page=2
/posts?page=3

PERO… podemos tener el caso que no queramos utilizar el parámetro por defecto, o estemos haciendo alguna tramoya. En mi caso es reconstruir el caché cuando se modifica el resultado. Claro, en esto caso no hay implicación del objeto Request, por lo tanto no nos va a paginar nada.

El método de paginación de Laravel es el siguiente:

public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)

Visto esto, creo que ya entendemos lo que hay que hacer. Cuando llamemos a nuestro modelo para obtener la paginación:

Post::paginate(10);

Lo haríamos de la siguiente manera, suponiendo que el número de página lo tenemos en la variable $numeroDePagina:

$numeroDePagina = 5;
Post::paginate( 10,  ['*'], 'page', $numeroDePagina);

PD: Lo que más me ha costado de este artículo es el título:

  • Sobrescribir el $request->page de Laravel.
  • Obtener una página concreta con la paginación de Laravel.
  • Paginar con Laravel a través de parámetros en la ruta.

¿Cual os gusta más? ¿Sugerencias?


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*