En este nuevo videotutorial vamos a aprender cómo paginar los items del módulo de secciones con Laravel y, por supuesto, crearemos una nueva prueba funcional con Codeception.

La paginación puede ser un feature muy difícil de lograr con otros frameworks como Codeigniter, o peor aún si estamos trabajando con PHP plano. Pero con Laravel es muy fácil y uno de mis features favoritos.

Básicamente con Eloquent, el ORM de Laravel o si usamos Fluent, el constructor de queries de Laravel simplemente tenemos que hacer lo siguiente:

paginate(15); // Con Fluent
$users = Users::paginate(15); // Con Eloquent

View::make('users.list')->with('users', $users); // Para pasar los usuarios a la vista

Luego en la vista no sólo tendremos disponible una colleción de usuarios ($users) sino que tendremos disponibles nuevos métodos para la paginación como:

$users->getTotal();
$users->getCurrentPage();
$users->links(); // que nos permite generar los links de las páginas dinámicamente

Además en este videotutorial aprenderemos cómo crear seeders con Laravel y el componente Faker, para cargar 50 secciones para la base de datos «cms» que probaremos en el navegador al final de la lección.

Además aprovecharé de corregir un par de bugs, y de colocarles una asignación al final del video.

Notas:

  • En el repositorio del CMS en GitHub encontrarán el código actualizado, con la corrección de algunos bugs adicionales en las pruebas ListSections y FilterSections (ya que cambiamos el mensaje «There are N sections» hizo falta modificar estas pruebas también)
  • En el repositorio también encontrarán el código del ejercicio EmptySectionsCept, ¡Pero intenten hacerlo por Uds. mismos antes de ver el código!
  • Muchas gracias a Yair Rodriguez por realizar el ejericicio, parte del código de esta lección fue una reproducción del código que Yair creó en su repositorio en GitHub.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior Filtrar registros con Laravel: Refactorización (DRY) Lección siguiente Implementación del patrón repositorio (Repository Pattern) en Laravel