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

2/17

Lectura

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! 🏃🏻‍♀️

Aportes 41

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Eloquent es un ActiveRecord para trabajar con tu base de datos desde Laravel.

¿Qué es un ActiveRecord?
Es un patrón de arquitectura en las bases de datos relacionados, se utiliza para poder acceder a una tabla a través de una clase, por medio de la clase podremos insertar, actualizar, consultar y eliminar datos en nuestra DB.

Los ORM’s son geniales, desde que los conocí no imagino mi vida sin ellos ❤️ Eloquent me encanta, desearía que existiera Eloquent tal cual para NodeJS, lastima que no existe:( Aunque encontré una muy buena alternativa llamada “Sequelize”, también es un ORM, es simplemente hermoso ❤️

Excelente articulo, quisiera saber que tanto retrasa el tiempo esta capa adicional ORM ?

ok, a lo que vinimos!

De one

Ejale 😃 vamos

Go…!

perfecto

Es interesante llevo programando en laravel como 2 meses y ya llevo bastante tiempo en php pero con codeigniter pero la parte de consultas me voló la cabeza … estoy amando a laravel y quiero aprender mas cada día de este interesante framework

Excelente artículo

Super listo

También se puede instalar independientemente en proyectos que desarrollemos desde cero.

Eloquent es el ORM que incluye Laravel para manejar de una forma fácil y sencilla los procesos correspondientes al manejo de bases de datos en nuestro proyecto, gracias a las funciones que provee podremos realizar complejas consultas y peticiones de base de datos sin escribir una sola línea de código SQL.

SUPER YA ESTOY LISTO

Apenas voy a verlo este 2023, vamos a ver si los mismos comandos se mantienen.

Eloquent es excelente 👌🏻

UNa ORM es usar el lenguaje SQL pero con sintaxis del lenguaje Back-end

Eloquent ❤️ es muy hermoso

Con lo poco que he trabajado con Eloquent es verdad que te ahora mucho trabajo en las tareas CRUD que normalmente se hacen y esto te brinda la posibilidad de comunicarte con tu modelo directamente desde el controlador. Y sin mencionar que la sintaxis que usa Eloquent es bastante simple y ahí afuera en internet hay muchísima información de donde apoyarnos!

interesante, no sabía que un orm hiciera eso, que me permitiera interactuar con la basa de datos, sin tener que ir directamente a ella para hacer los cambios en codigo puro, se ve muy interesante el curso

Cuando se usa Eloquent, cada tabla de la base de datos tiene un “Modelo” correspondiente que se usa para interactuar con esa tabla.

Podemos interactuar con este “modelo” recuperarndo registros de la tabla de la base de datos, los modelos Eloquent permiten insertar, actualizar y eliminar registros de la tabla también.

Al asociarlo de esta manera es muy sencillo entender el concepto de ORM y como funciona Eloquent.

Lo mejor de Laravel es que tiene “Eloquent que permite insertar, actualizar y eliminar registros de la tabla.”. sin necesidad de utilizar sql

Vamo a darle

vamo a darle

Usa Eloquent ORM para no escribir líneas de código SQL.

Donde se ejecuta el filtrado de los datos, en el servidor de sql o en el de php?
Si es en php nos estariamos trayendo toda la tabla y filtrando, si es en sql entonces nos entrega los datos ya filtrados desde la ejecucion del query

apenas entendi la mitad de lo esta escrito aqui pero justo eso es lo que me emociona quiero aprender mas y mas sobre desarollo web.

Perfecto

Go, go!

Empecemos

Comencemos! 😄

Me gustaron los dibujos

Buena explicacion.

Eloquent es un ORM que provee ActiveRecord. ¿Cuál es la diferencia entre este tipo de ORM y por ejemplo: Doctrine (que usa por default Symfony)?

Me encantó la explicación. Estaba esperando con ansias este curso. Hagale pues mija!

con toda!!!

Según he entendido:
Un ORM (Object Relational Mapping) nos sirve para capturar la DB relacional y vincularla con lógica no SQL para poder llamar la DB sin que si ocurre cualquier cambio en esta debamos revisar nuestro código SQL para corregirlo.

Excelente…!

Buena introducción.

Tema interesante.

interesante

Soy un Junior y en mi poca experiencia para mi lo más complicado del backend es las base de datos, espero que con este modelo pueda hacer código más rápido y con menos problemas.