En el desarrollo de proyectos de todo tipo; se hace importante la extracción de la información guardada en las bases de datos. Presentar información en forma física de un Software, será una de las necesidades fundamentales para todo desarrollador, por tal motivo el presente artículo va orientado a como generar reportes en PDF con Laravel Framework, si estás utilizando este marco de desarrollo para PHP, con una base de datos MySQL este artículo es para ti.
Generar reportes en PDF con Laravel Framework (Php y Mysql)
Para llevar a cabo este ejemplo debes crear un proyecto en Laravel Framework, si es tu primera vez puedes hacerlo mediante el siguiente artículo.
Configurando la conexión con la base de datos
Para establecer la conexión con la base de datos, abrimos el directorio Config y seleccionamos el archivo database.php; a continuación definimos los parámetros de conexión (Configura de igual manera tu archivo .env), así:
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
Creando la base de datos en MySQL
Como pudimos observar en la imagen anterior la base de datos será «bdtest«, dentro de ella existe una tabla llamada productos con algunos registros.
Si deseas aprender a crear una base de datos en MySQL puedes acceder aquí y luego seguir con el tutorial.
Definiendo una ruta para el reporte
Ahora necesitamos una URL o Ruta en Laravel sobre la cual accederemos a nuestro reporte, abre la carpeta App, luego Http y selecciona el archivo routes.php.
🎯 ¿Quieres dominar la programación y estar siempre un paso adelante?
¡No te pierdas los mejores tutoriales, consejos y herramientas para desarrolladores como tú! 💻
Suscríbete ahora a mi canal de YouTube y únete a una comunidad que aprende y crece cada día. 🚀
¡Es gratis y tu próxima habilidad está a un clic de distancia! 🧠🔥
La ruta nos permitirá visualizar en el navegador o descargar el reporte generado con Laravel.
Creando el contolador: ReportController
Con nuestra ruta configurada, al momento de acceder por el navegador a:
http://localhost/LaravelReport/public/pdf
Lo que hace es referenciar el controlador «ReportController» y la función «generar», por ello debemos crear dicho controlador y la función indicada.
Dirígete al directorio: App/Http/Controllers/ y crea un nuevo archivo llamado ReportController.php.
Código de ReportController.php
Mirando nuestro archivo ReportController.php estamos ahora referenciando una vista llamada: «reporte«; esta vista tendrá el código HTML con la estructura del reporte, sin embargo este no es todo el código de ReportController, aquí también debemos hacer la consulta a la base de datos, sigamos con el tutorial.
Creando la vista «reporte»
Para crear la vista reporte solo debemos dirigirnos al directorio «resources» que se encuentra en la raíz del proyecto y crear el archivo reporte.blade.php.
Código de reporte.blade.php
Básicamente tenemos un archivo HTML, con una tabla para mostrar los datos, posteriormente cuando hagamos la consulta enviaremos los datos a la vista «reporte»; por ahora probemos la vista en el navegador si todo funciona bien obtendrás:
Ahora estamos seguros que nuestra ruta, controlador y vista están funcionando correctamente.
Instalando DomPdf en Laravel Framework
Para la instalación de DomPdf en laravel, sigue el siguiente enlace.
Cómo instalar DomPDF en Laravel Framework generar reportes en PDF
Consultando la base de datos para llenar la tabla del reporte
Ya con DomPdf instalado y configurado podemos generar el Pdf en Laravel, para ello haremos una consulta en la base de datos sobre la tabla productos, estos datos los enviaremos a la vista y generamos el Pdf, veamos:
Editando ReportController para consultar los datos
Antes de enviar los datos a la vista es importante probar nuestra consulta, veamos:
Ahora veamos los datos obtenidos en el navegador.
Al confirmar que estamos recibiendo los datos de la consulta de forma correcta, terminamos la función generar().
El código anterior, además de hacer la consulta; envía a la vista el resultado de dicha consulta, además convierte nuestra vista en un pdf visible en el navegador.
Recibiendo los datos en la vista «reporte.blade.php»
Para incluir los datos enviados desde el controlador y llenar la tabla nos apoyamos en un ciclo foreach.
¡Finalmente el reporte terminado!
Ahora solo queda visualizar en el navegador en la ruta configurada nuestro reporte, así:
Por último cabe recordar que si nuestra finalidad no es visualizar si no descargar el reporte de inmediato, cambiamos la instrucción stream; por download en ReportController, de esta forma podrás generar reportes en PDF con Laravel que podrás imprimir, enviar por correo, etc.
Muchas gracias por la orientación dada en este post Iván David.
Dios te siga dando la capacidad de adquirir nuevos conocimientos y ayudar a otros, así como la capacidad de ser padre, esposo, docente y demás.
Saludos
Gracias amigo, por tan valioso comentario, y sus buenos deseos, Amén!
Éxitos!
y como hacerlo par un solo registro?
como me conecto contigo es urgente