Eloquent ORM

Para comenzar con esta guía del ORM de laravel Eloquent iniciare con las consultas básicas en este ORM con una descripción de lo que podemos hacer con ellas.

Simularemos las consultas teniendo en cuenta que tenemos una base de datos con una tabla «usuarios» que es donde realizaremos un Modelo en laravel donde haremos las consultas para el ejercicio.

Schema::create('usuarios', function (Blueprint $table) {
    $table->id();
    $table->string('nombre');
    $table->string('email')->unique();
    $table->string('username')->unique();
    $table->string('contraseña');
    $table->timestamps();
});

Este código en laravel es conocido como una migración que explicaré en una entrada más adelante, en resumen lo que hacemos aquí es definir la estructura de una nueva tabla en la base de datos que tenemos configurada.

Esta migración creará una tabla llamada «usuarios» con los campos «id«, «nombre«, «email«, «username«, «contraseña» y dos campos adicionales «created_at» y «updated_at» que son manejados automáticamente por laravel.

Una vez creada la tabla y entendiendo el funcionamiento y estructura de ella, crearemos el Modelo en laravel para poder acceder a el y realizar las consultas.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Usuario extends Model
{
    use HasFactory;

    protected $table = 'usuarios';

    public $timestamps = true;

    protected $fillable = ['nombre', 'email', 'username', 'contraseña'];
}

En el Modelo definimos una serie de datos necesarios para que el funcione, como son la tabla donde vamos a apuntar en el Modelo, si la tabla contiene los campos «created_at» y «updated_at» y finalmente que campos van a ser enviados en las consultas con la propiedad $fillable.

Consultas para búsqueda de registros

Una vez teniendo la tabla de nuestra base de datos creada y configurada en nuestro Modelo, podemos empezar a realizar consultas con Eloquent.

Antes que nada recordar que los métodos siempre los puedes consultar desde la documentación.

En el primer ejemplo vamos a recuperar todos los registros en la tabla «usuarios», podemos utilizar el método all();

$usuarios = Usuario::all();

Esta consulta estará almacenada en la variable usuarios, que podríamos retornar.

Para recuperar un registro específico de la tabla utilizando su ID, podemos utilizar el método find();

$usuario = Usuario::find(1);

Esto recuperará el registro con el ID 1 de la tabla usuarios y lo almacenará en la variable usuario.

Igualmente podríamos recuperar los registros que cumplan con ciertas condiciones utilizando el método where(). Por ejemplo, recuperar todos los registros de la tabla «usuarios» donde el campo «username» sea igual a «spoke»:

$usuarios = Usuario::where('username', 'spoke')->get();

Con esta consulta recuperaras todos los registros en la tabla usuarios donde el username sea «spoke» e igualmente los almacenara en la tabla usuarios.

Adicional se pueden utilizar otros métodos en nuestra consulta por ejemplo:

  • first(): Recuperamos registros individuales, en lugar de devolver una colección de modelos, estos devuelven una única instancia de modelo.
  • count(): Esté metodo devuelve la cantidad de registros que arroja la consulta.
  • max(), min(), avg(): Obtenemos el valor máximo, el mínimo y el promedio.

También podemos eliminar un registro de la base de datos utilizando el método delete(). Por ejemplo, para eliminar el registro con el ID 1 de la tabla «usuarios», podemos hacer lo siguiente:

$usuario = Usuario::find(1);

$usuario->delete();

Esto eliminará el registro correspondiente en la base de datos y eliminará el modelo correspondiente en la variable usuario.

por Eduardo López

Software Engineer ( FullStack con PHP y Javascript 🌍 ).

Descubre más desde Comsoft México

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo