📖 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 ofind()para buscar por ID. - 🎯 Aplica condiciones con
where()y ordena conorderBy(). - ⚙️ 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.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias