123 Módulo PAGOS del Sistema de Reserva de Citas Medicas con LARAVEL(PHP-MySql) FullStack

Duración: 15 min
Módulo: 💵 Pagos, Impresión y Cierre Lección 1 de 11

¡Contenido Exclusivo!

Adquiere este curso para tener acceso inmediato a esta y a **todas las lecciones Premium**.

Inscribirse Ahora por $20.00 Acceso instantáneo de por vida y código fuente incluido.

Descripción

1. 🛠️ Creación de la Estructura del Módulo [02:17]

Se utiliza el comando artisan de Laravel para generar los componentes básicos del nuevo módulo de Pagos:

  • Comando: php artisan make:model Pago -mcr
  • Archivos Generados:
    • Modelo: Pago
    • Migración: Para la tabla pagos
    • Controlador: PagosController (con recursos)

2. 🗄️ Diseño de la Tabla pagos (Migración) [03:24]

Se define la estructura de la tabla pagos para almacenar la información de las transacciones, manteniendo relaciones con los módulos existentes:

  • monto: Campo decimal con precisión (10, 2) para el valor pagado [03:52].
  • fecha_pago: Campo date para registrar la fecha en que se efectúa el pago [04:26].
  • descripcion: Campo string para la descripción de la cita médica o el concepto del pago [04:41].
  • Relaciones (Claves Foráneas):
    • paciente_id: Relaciona el pago con el paciente que lo realiza [04:52].
    • doctor_id: Relaciona el pago con el doctor que atenderá la cita [05:08].

Finalmente, se ejecuta el comando php artisan migrate:fresh --seed para crear la tabla y reiniciar la base de datos [05:30].

3. 🤝 Configuración de Relaciones Eloquent [07:09]

Se configuran las relaciones de uno a muchos en los modelos involucrados:

  • Modelo Pago: Se establece la relación belongsTo (pertenece a) con los modelos Paciente y Doctor [07:49].
  • Modelo Paciente y Doctor: Se establece la relación hasMany (tiene muchos) con el modelo Pago, permitiendo acceder a los pagos realizados por el paciente o gestionados por el doctor [08:48].

4. 🗺️ Definición de Rutas y Permisos [09:56]

Se definen las rutas de tipo recurso para el CRUD del módulo y se asignan los permisos:

  • Rutas CRUD: Se crean las rutas estándar de recurso para el PagosController (Index, Create, Store, Show, Edit, Update, Destroy).
  • Rutas Adicionales: Se incluyen rutas para la generación de reportes (pagos.pdf) y la confirmación de eliminación (pagos.confirm.delete) [10:29].
  • Asignación de Roles: Se decide que la Secretaria y el Administrador serán los roles encargados de gestionar los pagos, por lo que se añaden todos los nuevos permisos a estos roles en el RoleSeeder [13:35].

El próximo capítulo se centrará en la implementación de las vistas y la lógica del controlador para dar vida al módulo de pagos [14:26].