Contenido del curso
Fundamentos de Laravel
- 3

Qué es Artisan y cómo automatiza Laravel
04:23 min - 4

Rutas básicas en Laravel con web.php
06:44 min - 5

Cómo retornar vistas Blade en Laravel
07:02 min - 6

Plantillas Blade para vistas sin código repetido
06:03 min - 7

Controladores en Laravel con Artisan
07:17 min - 8

Migraciones en Laravel como control de versiones
07:01 min - 9

Modelos y factories en Laravel con datos falsos
06:56 min - 10

Consultas a base de datos con Eloquent
Viendo ahora - 11

Relaciones entre tablas con belongsTo en Laravel
05:37 min
Manos a la obra con nuestro proyecto
- 12

Revisión de arquitectura MVC en Laravel
02:15 min - 13

Instala el login de Laravel con Breeze
05:41 min - 14

Rutas de login y logout en Laravel Breeze
04:22 min - 15

Rutas y vistas con Route::resource en Laravel
03:59 min - 16

Listado de posts con paginación en Laravel
04:36 min - 17

Formulario para eliminar registros en Laravel
04:53 min - 18

Vistas de creación y edición con formulario compartido
06:49 min - 19

Formulario CRUD reutilizable en Laravel
05:02 min - 20

Guardar registros con relaciones en Laravel
06:06 min - 21

Método update en Laravel sin reescribir código
01:44 min - 22

Validación de formularios en Laravel con old()
04:43 min - 23

Validación unique en Laravel sin duplicados
05:32 min
Trabajemos en el diseño web de nuestro proyecto
- 24

Diseño del header con Tailwind y Laravel
06:38 min - 25

Divisor con gradiente en Tailwind CSS
03:50 min - 26

Construye la vista home de tu blog en Laravel
06:36 min - 27

Sección destacada con posicionamiento absoluto en Tailwind
04:15 min - 28

Diseño de página de publicación con Tailwind
02:33 min - 29

Formulario de búsqueda con Laravel y LIKE
04:18 min - 30

Cómo detectar el problema N+1 en Laravel
06:12 min
Cierre
Consultas a base de datos con Eloquent
Resumen
Eloquent es el ORM que Laravel ofrece para consultar bases de datos sin escribir SQL, tratando los registros como objetos de PHP. Si estás desarrollando con Laravel y quieres conectar tus vistas con datos reales, dominar Eloquent te permite escribir consultas limpias, paginadas y dinámicas en pocas líneas.
¿Qué es Eloquent y por qué reemplaza a SQL en Laravel?
Eloquent es la implementación de ORM (Object Relational Mapping) dentro de Laravel. En lugar de escribir sentencias SQL, trabajas con clases que representan tus tablas y manipulas los datos como objetos.
¿Qué es un ORM? Es una tecnología que mapea tablas de base de datos a clases de un lenguaje de programación. En Laravel se llama Eloquent y te permite consultar datos sin escribir SQL.
Cada tabla tiene un modelo asociado que vive en la carpeta App\Models. Por eso, antes de consultar una tabla como posts, necesitas importar su modelo en el controlador con su namespace correspondiente.
php use App\Models\Post;
Es común mezclar en un mismo archivo clases propias de Laravel (importadas desde Illuminate) y clases de tu propio código (desde App). La diferencia está en el origen: las primeras pertenecen al framework, las segundas las defines tú.
¿Cómo se hacen las primeras consultas con Eloquent?
La lógica de consulta debe vivir siempre dentro del controlador, nunca en las rutas ni en las vistas. Desde ahí, una sola línea basta para traer todos los registros de una tabla.
php $posts = Post::all();
Esa instrucción reemplaza por completo a un SELECT * FROM posts. Eloquent también ofrece métodos para obtener registros específicos sin escribir cláusulas WHERE manualmente:
Post::first()trae el primer registro de la tabla.Post::find(25)busca un registro por su ID, en este caso el número 25.Post::all()devuelve la colección completa de registros.
¿Cuál es la diferencia entre first y find en Eloquent? first devuelve el primer registro de la tabla según su orden natural. find recibe un ID y devuelve exactamente ese registro.
¿Cómo paso los datos del controlador a la vista?
Una vez tienes la consulta, envías la variable a la vista y trabajas con ella como si fuera un objeto. Esto cambia la forma en que accedes a las propiedades dentro del HTML.
Antes, con datos falsos en formato array, escribías algo como $post['titulo']. Con Eloquent, accedes con la sintaxis de objeto: $post->title o $post->content. El H1 se conecta al título y el párrafo al contenido del post.
Para la vista de detalle, también necesitas ajustar la ruta para que reciba el slug, que es una propiedad del post usada como identificador legible en la URL.
¿Cómo se ordena y pagina una consulta en Eloquent?
Para mostrar publicaciones en un blog, lo habitual es ordenarlas por fecha descendente y dividirlas en páginas. Eloquent encadena métodos de forma fluida para lograrlo.
php $posts = Post::orderBy('created_at', 'desc')->paginate(15);
Esa consulta hace tres cosas en una sola línea:
- Accede a la entidad Post.
- Ordena los registros de forma descendente, dejando los más recientes primero.
- Devuelve los datos paginados en bloques de 15 registros.
Cuando crees nuevas publicaciones, estas aparecerán automáticamente al inicio gracias al orden cronológico descendente. Es la lógica estándar de cualquier blog moderno.
¿Cómo se imprimen los enlaces de paginación en la vista?
Laravel genera automáticamente la navegación entre páginas. Solo necesitas invocar un método dentro de la vista, justo después del bucle que recorre los posts.
blade @foreach($posts as $post) ... @endforeach
{{ $posts->links() }}
El método links() renderiza las flechas y números de página. Sin estilos personalizados, se ven desproporcionados, pero la funcionalidad ya está activa: al pasar de la página dos a la tres, los registros cambian dinámicamente.
¿Cuándo Eloquent devuelve un objeto y cuándo una colección?
Esta es una de las dudas más frecuentes al empezar. La respuesta depende del método que uses, y conviene tenerla clara antes de iterar resultados.
¿Eloquent devuelve siempre lo mismo? No. Métodos como first o find devuelven un único objeto. Métodos como all o paginate devuelven una colección de datos sobre la que puedes iterar.
Si haces un dd($posts) después de una consulta paginada, verás una colección que contiene todas las publicaciones del bloque actual. En cambio, con Post::find(25) obtienes un solo objeto con sus propiedades accesibles directamente.
Con esta base ya puedes conectar tu proyecto Laravel a una base de datos real, consultar registros, ordenarlos, paginarlos y mostrarlos en vistas dinámicas sin escribir una sola línea de SQL. Cuéntame en los comentarios qué consulta de Eloquent te ha resultado más útil en tus proyectos.