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.
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:
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 40
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 ❤️
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
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.
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.
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
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.
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.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.