27 Migración Secretarias en Sistema de Reserva de citas medicas en LARAVEL(PHP-MySql)FullStack
Duración: 10 minDescripción
📊 Lección 27: Implementación del Widget de Usuarios y Migración de Secretarias
Título del Video: 27 Migración Secretarias en Sistema de Reserva de citas medicas en LARAVEL (PHP-MySql) FullStack
Esta lección se divide en dos partes principales: la implementación dinámica del widget de usuarios en el panel principal y la definición de la estructura de la tabla de Secretarias a través de una migración.
1. 📈 Widget de Conteo de Usuarios
Se implementa la funcionalidad para mostrar el número total de usuarios registrados directamente en el panel principal del administrador (admin/index.blade.php).
Lógica del Controlador: En el AdminController, se realiza una consulta simple al modelo User para obtener el total de registros utilizando el método count() [00:46].
PHP
$totalUsuarios = User::count();
- Envío a la Vista: La variable $totalUsuarios se pasa a la vista index.blade.php del administrador utilizando compact() [01:29].
- Visualización en la Vista: En la vista index.blade.php, se utiliza esta variable para reemplazar el valor estático y mostrar la cantidad real de usuarios (ej. 7 usuarios) [01:52].
- Redirección: Se configura el botón "Más información" para que redirija a la ruta del listado de usuarios (admin/usuarios) [02:18].
2. 📝 Definición de la Migración de Secretarias
Se procede a definir la estructura de la tabla secretarias en el archivo de migración creado en la lección anterior.
Campos de la Tabla
La tabla incluye los siguientes campos de información básica, además de los campos id y timestamps que Laravel crea por defecto [03:51]:
| Campo | Tipo y Restricción | Propósito |
|---|---|---|
| nombres | string(100) | Nombre o nombres de la secretaria. |
| apellidos | string(100) | Apellidos de la secretaria. |
| ci | string(100), unique | Cédula de identidad (CI) o DNI, asegurando que sea un valor único. |
| celular | string(100) | Número de teléfono celular. |
| direccion | string(255) | Dirección de residencia. |
| fecha_nacimiento | date | Fecha de nacimiento. |
Relación de Clave Foránea (Foreign Key)
Se establece la relación de la tabla secretarias con la tabla users para manejar la autenticación, evitando la redundancia de datos como correos y contraseñas [05:14]:
- Columna de Relación: Se crea una columna user_id (unsignedBigInteger) para almacenar la clave primaria del usuario asociado [06:21].
- Restricción: Se define la llave foránea (foreign) que:
Ejecución y Problema Común
Tras definir la migración, se ejecuta el comando para crear la tabla en la base de datos [08:01]:
Bash
php artisan migrate
- Problema: El instructor señala que, si el motor de la base de datos predeterminado es MyISAM (en lugar de InnoDB), las relaciones de clave foránea no se mostrarán en los diagramas del gestor de bases de datos. La solución a esto se abordará en la próxima lección [08:44].
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! ❤️