Búsqueda por incrementos y decremento en Laravel

Parte de la magia de este framework , es que podemos realizar búsqueda por incrementos y decremento en Laravel, aprovechando las funciones que nos ofrece Eloquent.
Esto puede sernos de mucha utilidad si asignamos valores por ejemplo a los usuarios, por participación y queremos obtener los movimientos en esos valores.

Relaciones en Laravel


Veamos un ejemplo:
En el caso siguiente asignamos inicialmente 50 puntos a cada cliente y luego obtenemos del modelo aquellos que incrementan los puntos y los que los pierden.

 $clientes = Customer::find($customer_id);
 $puntos_acumulados = $clientes->puntos_acumulados + 50;
 $clientes->update(['puntos_acumulados' => $puntos_acumulados]);
 // añadimos puntos
 Cliente::find($customer_id)->increment('puntos_acumulados', 50);
 // eliminamos puntos
 Cliente::find($customer_id)->decrement('puntos_acumulados', 50); 

Otro modo de utilizar incrementos y decrementos es aplicándolo directamente a la variable que representa al modelo por ejemplo en vez de escribir algo como:

 $productos = Producto::find($productos_id);
 $productos ->read_count++;
 $productos ->save();
 Incrementamos o decrecemos directamente asi:
 $productos = Producto::find($productos_id);
 $productos ->increment('read_count');
 O directamente en el modelo
 Producto::find(productos_id)->increment('read_count');
 Producto::find(productos_id)->increment('read_count', 5); // sumo 5
 Producto::find(productos_id)->decrement('stock'); // resto 1 

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

..Subir montaña hermana hombres…..

Translate »