08 Modelo entidad relación en el curso con LARAVEL (PHP y MySql) FullStack

Duración: 9 min
Módulo: 🏗️ Modelos de Datos y Controladores Lección 3 de 4

Descripción

💡 Lección 08: Implementación del Modelo Entidad-Relación en LARAVEL

Este módulo establece el corazón de la arquitectura de la aplicación al codificar las relaciones lógicas de la base de datos dentro de los modelos, permitiendo consultas más intuitivas y eficientes.

🗺️ Definición de las Relaciones (E-R Model):

El instructor explica las dos relaciones principales de uno a muchos (One-to-Many) que estructuran el sistema:

  • Carpeta (Padre) a Carpetas (Hijas): Una carpeta padre puede contener múltiples subcarpetas (hijas) [01:16].
  • Carpeta a Archivos: Una carpeta puede albergar muchos archivos [01:41].

🏗️ Configuración del Modelo Carpeta:

Se implementan las relaciones de "padre" y "contenedor" en el modelo Carpeta:

  • Se define la propiedad $fillable con los campos nombre y carpeta_padre_id [02:30].
  • Relación de Hijos (hasMany): Se crea la función carpetasHijas() para establecer que una carpeta tiene muchas subcarpetas, referenciando la clave foránea carpeta_padre_id [04:36].
  • Relación de Contenido (hasMany): Se define la función archivos() para indicar que una carpeta tiene muchos archivos relacionados con el modelo Archivo [06:10].

📁 Configuración del Modelo Archivo:

Se implementa la relación inversa en el modelo Archivo:

  • Se define la propiedad $fillable con los campos nombre y carpeta_id [06:48].
  • Relación Inversa (belongsTo): Se crea la función carpeta() con belongsTo() [07:39]. Esto indica que un archivo pertenece a una sola carpeta, completando la relación de muchos a uno.

Al finalizar, el código de los modelos ya está enlazado a nivel de la base de datos, listo para ser utilizado en las vistas y controladores.