10 🚗 Registro de Clientes + Vehículos - Laravel CRUD Empresarial | Proyecto FullStack
Duración: 45 minDescripción
🚗 Lección 10: Registro de Clientes + Vehículos - Laravel CRUD Empresarial | Proyecto FullStack
Esta lección se enfoca en la creación del Módulo de Clientes y la Tabla de Vehículos, estableciendo una relación fundamental de Uno a Muchos (1:N) para un sistema de parqueo robusto.
1. Definición y Migración de la Estructura de Datos 💾
- 1.1. Tabla clientes:
- Objetivo: Almacenar la información personal esencial del conductor de forma ágil y eficiente [01:33].
- Campos definidos:
- nombres (String): Nombre completo del cliente [01:27].
- numero_documento (String): Campo genérico para CI, DNI, o NIT [02:44].
- correo_electronico y celular (String): Campos definidos como no requeridos (nulables), considerando que el cliente puede no desear compartirlos [00:03:11 - 00:03:43].
- genero (ENUM) y estado (Boolean): Campos de control interno [03:48, 12:44].
- softDeletes: Se incluye para permitir una eliminación lógica del cliente [12:52].
- 1.2. Tabla vehiculos (Relación 1:N):
- Justificación: Un cliente puede tener múltiples vehículos [06:46], por lo que la información vehicular se separa.
- Relación Foránea: cliente_ID (llave foránea) que referencia a la tabla clientes [07:52].
- Integridad: Se añade la acción onDelete('cascade') a la llave foránea para borrar registros relacionados en caso de eliminación, aunque se utiliza soft delete [14:23].
- Campos definidos:
- 1.3. Verificación de Migraciones: Se ejecutan las migraciones y se valida la relación de uno a muchos en el diseñador de la base de datos [00:18:57 - 00:20:07].
2. Definición de Relaciones en Modelos (Eloquent) 🔗
- 2.1. Modelo Cliente:
- Se define la relación hasMany (vehiculos()) para indicar que un cliente tiene muchos vehículos [22:11].
- 2.2. Modelo Vehiculo:
3. Implementación de la Interfaz y Lógica CRUD (Clientes) 🖥️
- 3.1. Configuración de Acceso:
- 3.2. Listado de Clientes (index): Se crea la vista para mostrar la lista de clientes con la información esencial y las acciones (Editar, Eliminar) [00:28:23 - 00:32:33].
- 3.3. Registro de Nuevo Cliente (create y store):
- Formulario: Diseño de la vista create para capturar los 5 datos del cliente [34:22].
- Validación: Se aplican reglas required para todos los campos [39:10].
- Estrategia de Datos Genéricos: Se implementa una solución para el manejo de campos sensibles (como correo o celular) que el cliente no desea compartir:
- Se utilizan valores por defecto en el value del formulario (ej. "Sin documento" o "cliente@correo.com") para cumplir con las reglas de validación y evitar el registro en blanco [00:42:07 - 00:44:24].