11 🚗 MÓDULO VEHÍCULOS Completo - CRUD + Relaciones + Foreign Keys | Laravel Parqueo
Duración: 66 minDescripción
🚗 Lección 11: Módulo Vehículos Completo - CRUD + Relaciones + Foreign Keys | Laravel Parqueo
Esta lección completa el módulo de Clientes y desarrolla la funcionalidad CRUD (Crear, Leer, Actualizar, Eliminar) para el módulo Vehículos, asegurando la relación de uno a muchos establecida previamente.
1. Preparación del Entorno y Datos de Prueba 🧪
- Sincronización de la Base de Datos
- Uso de Seeders y Faker para generar datos de prueba (roles, usuarios, espacios, tarifas y cinco clientes) [00:00:39 - 00:01:41].
- Ejecución del comando PHP artisan migrate:fresh --seed para refrescar y poblar la base de datos con información inicial [01:51].
2. Módulo Clientes: Completando las Operaciones CRUD 👤
- Acción de Edición (Update)
- Recepción del ID y búsqueda del cliente [03:56].
- Creación de la vista edit.blade.php y carga de los datos existentes del cliente en el formulario [00:04:22 - 00:08:42].
- Implementación de la función update() para aplicar la lógica de validación y guardar los cambios ($cliente->save()) [00:09:59 - 00:11:40].
- Acción de Eliminación Lógica (Soft Delete)
- Inclusión del trait SoftDeletes en el modelo Cliente [14:46].
- La función destroy() cambia el estado del cliente a falso y ejecuta la eliminación suave ($cliente->delete()), lo que agrega una marca de tiempo en el campo deleted_at [00:13:24 - 00:15:54].
- Modificación de la consulta All en el Controller para incluir clientes eliminados con withTrashed() [16:30].
- Acción de Restauración (Restore)
- Implementación de la ruta y función restore() [19:21].
- Uso del método restore() en el cliente eliminado y posterior cambio del campo estado a true [02:02:14 - 02:04:06].
3. Módulo Vehículos: Gestión y Relación 🚗
- Acción de Ver Detalles (show)
- Creación de la ruta para ver los detalles del cliente [02:21:28].
- Diseño de la vista show.blade.php para mostrar la información del cliente [02:30:57].
- Listado Relacional: Se utiliza la función with('vehiculos') en la consulta para cargar los vehículos asociados al cliente y listarlos en una tabla dentro de la vista show [03:19:51].
- Registro de Vehículos (Modal)
- El formulario de registro se implementa usando una Ventana Modal [03:36:30].
- Se utiliza un campo oculto (type="hidden") para enviar el cliente_ID al controlador junto con los datos del vehículo [04:47:58].
- Validación de la placa como campo único (unique:vehiculos,placa) y asegurando la conversión a mayúsculas [05:01:19, 05:39:10].
- La función store() guarda el nuevo vehículo y redirige de vuelta al formulario del cliente (return back()) [05:21:15].
- Edición de Vehículos (Modal)
- Eliminación de Vehículos
- Se implementa la función destroy() en el VehiculoController para realizar una eliminación física del registro, dado que el cliente ya tiene una eliminación lógica [01:04:16].