El patrón repositorio, actua como una capa intermedia entre tu aplicación y la base de datos.
La idea es encapsular el código que interactúa con la base de datos: es decir aquel que genera consultas SQL para traer datos de la base de datos hacia la aplicación o inserta, actualiza y elimina dichos datos.
Cuando usamos Laravel, este código está escrito con el ORM Eloquent o con el constructor de consultas Fluent, y suele ser muy limpio, sin embargo a medida que los requerimientos del proyecto crecen, este código también crece y lo más conveniente es separarlo a otra capa, que no sólo reducirá la cantidad de código del controlador, sino que hará nuestras consultas reusables en otros controladores y partes de nuestra app, y por otro lado también nos permitiría ejecutar pruebas (tema que veremos en otros cursos).
Dividí esta lección en 3 temas para facilitar su estudio y revisión posterior:
En esta lección, nos encargaremos de mover el código que se encarga de generar las consultas para mostrar tickets, del controlador a nueva capa llamada repositorio.
Además me tomaré unos momentos para corregir un par de bugs de la página de detalles de tickets.
Mira el código en GitHub: actual, resultado, comparación.
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección anterior Subconsultas con SQL y Eloquent (selectRaw) Lección siguiente Repositorio base (repaso de clases abstractas y herencia)