馃摉 Leer datos desde Eloquent

馃摉 Leer datos desde Eloquent

Una de las ventajas m谩s poderosas de Eloquent ORM es su capacidad para leer datos de la base de datos de forma sencilla, legible y eficiente, sin escribir consultas SQL manuales.

馃攳 1️⃣ Obtener todos los registros

El m茅todo all() recupera todos los registros de la tabla asociada al modelo:

use App\Models\Producto;

$productos = Producto::all();

foreach ($productos as $producto) {
    echo $producto->nombre . ' - ' . $producto->precio . '<br>';
}
        

馃挕 Retorna una colecci贸n de modelos, lo que permite iterar f谩cilmente sobre los resultados.

馃敘 2️⃣ Obtener un registro por su ID

Para obtener un solo registro por su ID, se usa el m茅todo find() o findOrFail():

$producto = Producto::find(1);
echo $producto->nombre;

// Si no existe, lanza un error autom谩ticamente
$producto = Producto::findOrFail(99);
        

馃摌 findOrFail() lanza una excepci贸n si el registro no existe, 煤til para manejar errores 404 autom谩ticamente.

馃幆 3️⃣ Filtrar resultados con condiciones

Usa los m茅todos where() y first() para aplicar filtros personalizados:

$producto = Producto::where('precio', '>', 50)->first();

$productos = Producto::where('stock', '<', 20)
                     ->orderBy('precio', 'desc')
                     ->get();
        

馃挕 Puedes encadenar m茅todos como orderBy(), limit() o get() para construir consultas m谩s complejas.

馃摝 4️⃣ Seleccionar columnas espec铆ficas

Si no necesitas todos los campos, puedes seleccionar columnas concretas con select():

$productos = Producto::select('nombre', 'precio')
                     ->where('stock', '>', 0)
                     ->get();

foreach ($productos as $item) {
    echo $item->nombre . ' cuesta ' . $item->precio . '€<br>';
}
        

馃挕 Esto mejora el rendimiento, ya que Laravel solo recupera los campos necesarios desde la base de datos.

⚙️ 5️⃣ Consultas avanzadas

Puedes realizar consultas m谩s elaboradas combinando m茅todos de Eloquent:

$productos = Producto::whereBetween('precio', [20, 100])
                     ->whereNotNull('stock')
                     ->orderBy('nombre')
                     ->take(5)
                     ->get();

$total = Producto::where('stock', '>', 0)->count();
        

馃搳 Estas consultas se traducen autom谩ticamente a SQL optimizado por Laravel.

✅ Conclusi贸n

  • 馃摉 Eloquent simplifica la lectura de datos mediante m茅todos claros y expresivos.
  • 馃攳 Usa all() para obtener todos los registros o find() para buscar por ID.
  • 馃幆 Aplica condiciones con where() y ordena con orderBy().
  • ⚙️ Combina m煤ltiples m茅todos para construir consultas complejas de manera sencilla.

En la pr贸xima lecci贸n aprenderemos c贸mo actualizar registros con Eloquent de forma r谩pida y segura.



Publicar un comentario

0 Comentarios