39 Usar FAKE para generar datos reales en curso de LARAVEL 10 Sistema de control de asistencia
Duración: 11 minDescripción
🎬 Lección 39: 🤖 Uso de Faker para Generar Datos Reales
Enlace del Video: https://youtu.be/YHd0_ukqzmI
💡 Objetivo:
Implementar la librería Faker dentro del Factory para generar datos de prueba (nombres, correos, direcciones) que parezcan reales, mejorando la experiencia de desarrollo y prueba.
1️⃣ El Problema y la Solución (Faker) 🤔
- El Problema: El sistema se había llenado previamente con datos de prueba poco realistas (como nombres aleatorios y direcciones sin sentido), dificultando la visualización y prueba de los datos [01:19].
- La Solución: Se utiliza la librería Faker, la cual ya viene incluida en Laravel, para generar datos simulados pero con formato real (nombres, títulos, direcciones, correos, etc.) [01:47].
2️⃣ Implementación en el Factory (Database Seeding) ⚙️
Antes de generar los nuevos datos, se vacía la tabla de miembros en la base de datos [02:15]. Luego, se modifican los métodos de relleno del archivo MiembrosFactory.php:
- nombre_apellido: Se reemplaza el relleno anterior por fake()->name() [03:07].
- direccion: Se utiliza fake()->address() para generar direcciones con formato real [03:22].
- fecha_nacimiento: Se utiliza la función fake()->date() con un formato específico para generar fechas de nacimiento realistas [04:29].
- email: Se utiliza fake()->unique()->safeEmail() para asegurar que se generen correos electrónicos que no se repitan y tengan un formato válido, similar a la lógica en el UserFactory [04:43].
3️⃣ Ejecución del Seeder y Verificación ✅
- Comando: Se ejecuta el comando php artisan db:seed para ejecutar el DatabaseSeeder [05:59].
- Resultado: Se confirman 150 nuevos registros. Al inspeccionar la tabla, se observa que los datos generados son mucho más profesionales y realistas, incluyendo títulos como "Dr." y "Prof.", correos con dominio example.net, y direcciones simuladas [06:45].
4️⃣ Corrección de Fecha de Ingreso (Controller) 📅
Como detalle final, se corrige un error en el MiembrosController dentro del método store para que la fecha de ingreso (fecha_ingreso) se registre con la fecha y hora actual al crear un nuevo miembro.
- Corrección: Se utiliza la función nativa de PHP date('Y-m-d') para asegurar que la fecha de ingreso al registrar un miembro sea siempre la del momento actual y no una fecha estática [09:05].
Con esta lección, se da por terminado y optimizado el módulo CRUD de Miembros. El siguiente video comenzará con un nuevo módulo del sistema [11:06].
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️