• #laravel
  • #query-builder
  • #orm

Incrementar múltiples columnas a la vez en laravel

Laravel trae consigo múltiples utilidades para hacer operaciones de forma sencilla y una de ellas es el poder incrementar o decrementar los valores de las columnas de nuestra base de datos.

Incrementar o decrementar una columna

Para usar dichas utilidades, en el caso del incremento o decremento de una columna, sería escribir lo siguiente:

$user = User::find(1);
// Esto incrementará en uno el valor de la columna points
$user->increment('points');
// Restar en una unidad el valor de la columna points
$user->decrement('points');
// Si queremos incrementar o decrementar en mas de una unidad el valor de la columna
$user->increment('points', 5);
$user->decrement('points', 5);

Incrementar o decrementar múltiples columna

También podemos actualizar otras columnas a la vez que se hace el incremento o decremento

$user->increment('points', 1, [
'name' => 'Jhon',
]);

Por último, también es posible hacer el incremento o decremento de multiples columnas con incrementEach o decrementEach

Esto es posible desde la versión 9.x en adelante

$user->incrementEach([
'points' => 5,
'votes' => 2,
]);
$user->decrementEach([
'points' => 5,
'votes' => 2,
]);

Ver más detalles en la documentación de laravel.

Te puede interesar: Generar contraseñas seguras con Laravel 10