¿Qué es un ORM y para qué sirve Eloquent?

Clase 2 de 17Curso Básico de Manejo de Datos en Laravel con Eloquent ORM

Un ORM - Object Relational Mapping o Mapeador de Objetos Relacionales - es un modelo de programación que nos permite mapear las estructuras de una base de datos relacional y vincularla a entidades lógicas.

Un ORM permite que, cuando realicemos acciones (como un CRUD, por ejemplo), accedamos indirectamente a la base de datos con el ORM sin utilizar código SQL para gestionar la persistencia de los datos o realizar consultas.

Qué es Laravel

Laravel es una herramienta de código abierto para desarrolladores. En su página web se definen como:

Laravel es un marco de aplicación web con una sintaxis expresiva y elegante. Ya sentamos las bases, liberándote para crear sin que tengas que preocuparte por las cosas pequeñas.

Para qué sirve Laravel y cómo se relaciona con Eloquent

Laravel tiene su propio sistema de ORM llamado Eloquent. Esto permite una interacción elegante y fácil con la base de datos.

ORM: Eloquent

Eloquent es un ORM que nos facilita el contacto de nuestra aplicación en Laravel con una base de datos relacional donde solo tendremos que hacer un llamado al modelo de la entidad que se necesita y empezar a operar sobre ella desde el controlador.

Ejemplo de uso de Eloquent ORM

Imagina que estás desarrollando una aplicación donde necesitas manipular información que está almacenada en una base de datos y cada vez que necesites realizar una transacción tengas que escribir código SQL puro.

Contempla el caso en que esa base de datos, por alguna razón, cambió o sufrió algún tipo de modificación. Ahora tendrás que ir a todos los lugares donde hiciste algún llamado a la base de datos para verificar y cambiar, verificar y cambiar, verificar y cambiar... Este es solo un ejemplo, realmente es mucho más lo que nos ofrece un ORM.

En términos más terrenales, usar un ORL es como agregar una pequeña capa entre la base de datos y nuestra aplicación, así que ya no tendremos que escribir la sentencia SQL directamente a la base de datos. Esto se simplificará a usar el modelo cada vez que se requiera realizar alguna acción o acceder a las entidades de la base de datos.

En las siguientes imágenes puedes ver cómo funciona la comunicación desde una aplicación de Laravel cuando va directo a la base de datos si no utilizara un ORM y cómo sucede esta comunicación con Eloquent.

Eloquent

ORM

Planeación de un proyecto con Eloquent ORM

Lo primero que debes tener en cuenta es la planeación del proyecto. Antes de escribir la primera línea de código, diseñaremos la base de datos, te mostraré el flujo que deben recorrer las acciones que solicites al modelo y los requerimientos de nuestra aplicación desde el lado del backend.

Si quisieras desarrollar la interfaz gráfica de este proyecto, luciría de esta forma:

Banco de proyectos Eloquent ORM Laravel

En la siguiente clase diseñaremos nuestro proyecto y la base de datos que usaremos para aprender a configurar nuestros modelos de Eloquent. ¡Vamos! 🏃🏻‍♀️