¡Hola! ¿Cómo están? ¡Bienvenidos! Continuando con el curso hoy veremos lo que son consultas a la base de datos con Eloquent ORM. En anteriores clases vimos la creación de las migraciones y creación de las tablas, hoy empezaremos a llenar las tablas con información.
¡Empecemos!
Eloquent ORM en Laravel
Eloquent es el ORM (Object-Relational Mapping) que viene incorporado en Laravel, y es una de las características más destacadas y poderosas del framework. ORM es una técnica que permite mapear objetos de una aplicación a tablas en una base de datos relacional, facilitando así la interacción entre el código de la aplicación y la estructura de la base de datos.
Eloquent ORM vs consultas SQL
Utilizar Eloquent ORM y consultas SQL son dos enfoques diferentes para interactuar con bases de datos, las dos se pueden utilizar en el desarrollo de aplicaciones web con Laravel, las principales diferencias están en:
- Eloquent ORM utiliza objetos para interactuar con la base de datos. En cambio SQL escribe consultas SQL para interactuar con la base de datos.
- Eloquent ORM utiliza métodos y relaciones predefinidos que simplifican tareas comunes (All, find, count, etc.). En cambio SQL ofrece un control más directo y granular sobre las operaciones de la base de datos.
- Eloquent ORM proporciona funciones y relaciones lo que le permite que el mantenimiento del código sea más simple. En cambio el mantenimiento de consultas SQL puede ser más desafiante.
Consultas Eloquent en Laravel Listar, Crear, Actualizar y Eliminar registros
Una vez registrados los modelos podemos realizar consultas Eloquent (Consultas SQL). Por ejemplo, en la tabla “Alumnos” como listar, crear, actualizar y eliminar registros de la base de datos utilizando Eloquent ORM, para esto crearemos una carpeta llamada “Repositories” en el directorio “app/”. Seguidamente creamos un archivo “AlumnoRepository.php”.
En el archivo “AlumnoRepository.php” crearemos una clase del mismo nombre, estableceremos las referencias al espacio de nombres namespace, así como la referencia con el modelo “Alumno”.
Consultas Eloquent para listar registros
Con Eloquent ORM podemos listar todos los registros de la tabla “Alumnos” de la base de datos. Creamos una función “obtenerAlumnos”, utilizaremos el método all() para obtener todo el listado de la tabla alumnos.
public function obtenerAlumnos() { return Alumno::all(); }
Creamos otra la función “ObtenerAlumnoPorId” para obtener a un determinado alumno, utilizaremos el método find() pasando un parámetro Id.
public function obtenerAlumnoPorId($id) { return Alumno::find($id); }
Consultas Eloquent para crear registros
Con Eloquent ORM podemos crear (insertar) registros a la tabla “Alumnos” de la base de datos. Creamos la función “insertarAlumno”, donde recibimos un parámetro $alumno que contiene todos los datos de un alumno (nombre, apellido, edad y dirección) con el método create() insertamos en la base de datos.
public function insertarAlumno($alumno) { Alumno::create([ 'nombre' => $alumno->nombre, 'apellido' => $alumno->apellido, 'edad' => $alumno->edad, 'direccion' => $alumno->direccion, ]); }
Consultas Eloquent para actualizar un registro
Con Eloquent ORM podemos actualizar un registro existente de la tabla “Alumnos”. Por ejemplo, Creamos la función “actualizarAlumno”, recibe dos parámetros el $id del registro a modificar y dos el objeto $alumno con los nuevos datos. Utilizaremos la función “Find” para buscar el alumno en particular y con la función “save” guardar los cambios realizados.
public function actualizarAlumno($id, $alumnoActualizar) { $alumno = Alumno::find($id); $alumno->apellido = $alumnoActualizar->apellido; $alumno->edad = $alumnoActualizar->edad; $alumno->save(); }
Consultas Eloquent para eliminación de un registro
Con Eloquent ORM podemos eliminar un registro de la tabla “Alumnos”, utilizando el método delete(). Por ejemplo, creamos la función “eliminarAlumno”. recibe un parámetro $id que es el registro que se eliminará de la base de datos.
public function eliminarAlumno($id) { $alumno = Alumno::find($id); $alumno->delete(); }
Eloquent en Laravel ofrece muchas más funcionalidades y métodos avanzados para realizar consultas complejas y manejar relaciones entre tablas. Puedes consultar la documentación oficial de Laravel para obtener más detalles sobre Eloquent ORM.
Ejercicios de Eloquent ORM
Crear las consultas para listar, crear, actualizar y eliminar registros de la tabla “Publicaciones” con Eloquent ORM.
- Crear una consulta para listar todos los elementos de la tabla “Publicaciones”.
- Crear una consulta para obtener las publicaciones de un alumno en particular.
- Crear una consulta para insertar un registro en la tabla “Publicaciones”.
- Crear una consulta para actualizar un registro en la tabla “Publicaciones”.
- Crear una consulta para eliminar un registro en la tabla “Publicaciones”.
Hasta aquí la clase de hoy consultas a la base de datos con Eloquent ORM, puedes descargarte el código fuente de este ejemplo y todos los demás en el repositorio de GitHub si tienes alguna consulta puedes dejarnos un comentario. En la próxima clase veremos controladores en Laravel 10.
Saludos y éxitos.

Victor Peña
Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.