🔍 Introducción a Eloquent ORM
Eloquent ORM (Object Relational Mapper) es el sistema de Laravel que nos permite interactuar con la base de datos utilizando clases y objetos en lugar de sentencias SQL manuales. Cada tabla de la base de datos se representa como un modelo, y cada registro como una instancia de ese modelo.
🧠 1️⃣ ¿Qué es un modelo en Eloquent?
Un modelo en Laravel representa una tabla de la base de datos.
Por ejemplo, si tienes una tabla llamada productos, el modelo correspondiente será Producto (en singular y con la primera letra en mayúscula).
php artisan make:model Producto
Esto creará un archivo en la carpeta app/Models/Producto.php con el siguiente contenido básico:
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Producto extends Model
{
use HasFactory;
}
📘 Laravel asume automáticamente que este modelo está vinculado con una tabla llamada productos (plural del nombre del modelo).
⚙️ 2️⃣ Convenciones de Eloquent
- 📁 El modelo
Productose asocia automáticamente con la tablaproductos. - 🔑 La clave primaria predeterminada es
id. - 🕒 Laravel espera que las columnas
created_atyupdated_atexistan para registrar fechas.
Si deseas cambiar el nombre de la tabla o desactivar las marcas de tiempo, puedes hacerlo dentro del modelo:
class Producto extends Model
{
protected $table = 'mis_productos';
public $timestamps = false;
}
🧩 3️⃣ Interactuando con la base de datos
Una vez creado el modelo, puedes usarlo directamente para realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) sin escribir SQL.
use App\Models\Producto;
// Crear un nuevo registro
$producto = new Producto();
$producto->nombre = 'Teclado inalámbrico';
$producto->precio = 25.99;
$producto->save();
// Obtener todos los registros
$productos = Producto::all();
// Buscar uno por su ID
$producto = Producto::find(1);
// Actualizar un registro
$producto->precio = 29.99;
$producto->save();
// Eliminar un registro
$producto->delete();
💡 Gracias a Eloquent, todas estas operaciones se traducen automáticamente en consultas SQL seguras y eficientes.
🧰 4️⃣ Comandos útiles relacionados con modelos
php artisan make:model Nombre→ Crea un modelo simple.php artisan make:model Nombre -m→ Crea el modelo junto con una migración.php artisan make:model Nombre -a→ Crea modelo, migración, controlador, fábrica y seeder.php artisan tinker→ Abre una consola interactiva para probar comandos Eloquent.
📦 5️⃣ Ejemplo práctico
Supongamos que tenemos una tabla productos con los campos id, nombre y precio.
Podemos listar todos los productos en una vista de esta manera:
// En el controlador
use App\Models\Producto;
public function index() {
$productos = Producto::all();
return view('productos.index', compact('productos'));
}
Y en la vista resources/views/productos/index.blade.php:
@foreach($productos as $producto){{ $producto->nombre }} - ${{ $producto->precio }}
@endforeach
✅ Conclusión
- 🔍 Eloquent ORM facilita el trabajo con bases de datos mediante modelos orientados a objetos.
- 📦 Cada modelo representa una tabla y permite realizar operaciones CRUD de forma sencilla.
- ⚙️ Usa convenciones por defecto, pero puedes personalizarlas según tus necesidades.
- 💡 Es una de las herramientas más potentes y elegantes de Laravel.
En la próxima lección aprenderemos a insertar registros con Eloquent de forma práctica y eficiente.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias