Consultas básicas de ELOQUENT

Eloquent es el ORM de Laravel, nos permite manipular bases de datos sin la necesidad de usar SQL directo, en esta entrada vamos a ver como realizar las operaciones básicas como:

  • Crear registros
  • Buscar registros
  • Modificar registros
  • Eliminar registros

Este procedimiento también es conocido como CRUD por sus siglas en inglés (CREATE, READ, UPDATE, DELETE)

Para realizar nuestra practica vamos a usar “TINKER” la consola de comandos de LARAVEL, para poder manipular nuestra base de datos sin la necesidad de crear una interface gráfica.

Modelo Producto

Antes de realizar cualquier manipulación en la base de datos, debemos tener un esquema, tabla o envase en donde meter la información, en este ejemplo vamos a trabajar en una tabla de productos, definida de la siguiente manera.

Schema::create('products', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('SKU')->unique()->nullable();
            $table->string('name');
            $table->string('slug')->unique();
            $table->string('amount_full');
            $table->double('amount_discount')->nullable();
            $table->longText('description');
            $table->timestamps();
        });

Crear un registros

Para crear un registro es necesario instanciar un objeto del modelo en este caso Product, puedes notar que cada propiedad del producto se le asigna un valor, según corresponda string, double y en general cualquier tipo de dato definido previamente.

$product = new Product();
$product->name = "Sudadera Politécnico para mujer con capuchas";
$product->slug = "sudadera-politecnico-mujer-con-capuchas";
$product->amount_full = 150.00;
$product->amount_discount = 130.00;
$product->description = "Sudadera de mujer de algodón y estampado en vinil textil...";
$product->save();

Buscar registros

Para poder buscar registros no es necesario crear una instancia del modelo, dado que el registro ya existe.

$product->all();

*Este comando retorna todos los registros

$product->find(1);

*Este comando retorna el elemento con el id especificado

$product->select("name", "slug")->where("id", 1)->get();

*Este comando selecciona los atributos solicitado del id indicado

$product->select("name", "slug")->where("id", 1)->first();

*El ejemplo anterior regresa una colección, pero cuando buscamos por ID ya sabemos que solo existe un registro, es por ello que podemos usar first para mostrar un solo registro

 

$product->where("slug","sudadera-politecnico-mujer-con-capucha")->get();

*El comando retorna un registro que coincide con la validación

 

$product->select("name", "slug")->whereBetween("amount_full", [150, 300])->get();

*Este comando retorna los parámetros indicados, con un rango de precios

$product->whereNull("SKU")->get();

*Este comando retorna los registros con valor null en el parámetro indicado

 

Modificar un registros

Para poder modificar registros es necesario primero buscar el registro a modificar, y luego una nueva asignación al atributo que se desea modificar y asignarle un nuevo valor y salvar

$producto::find(1);
$product->name = "Sudadera para mujer con descripción más cool";
$product->save();

Eliminar un registros

Para poder eliminar un registro es indispensable primero localizar el registro que se desea eliminar y usar el método delete o destroy.

$producto::find(1);
$product->delete();