馃攳 Introducci贸n a Eloquent ORM

馃攳 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 Producto se asocia autom谩ticamente con la tabla productos.
  • 馃攽 La clave primaria predeterminada es id.
  • 馃晵 Laravel espera que las columnas created_at y updated_at existan 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.



Publicar un comentario

0 Comentarios