Методы increment и decrement
Иногда нам нужно обновить значение, увеличив или уменьшив его. Обычно для этого пишется отдельный запрос, но в Laravel есть элегантные методы, позволяющие сделать это в одну строчку!
<?php
// Увеличить votes на 1
DB::table('users')->increment('votes');
// Увеличить votes на 5
DB::table('users')->increment('votes', 5);
// Уменьшить votes на 1
DB::table('users')->decrement('votes');
// Уменьшить votes на 5
DB::table('users')->decrement('votes', 5);
// Увеличить votes на 1 и задать name = 'John'
DB::table('users')->increment('votes', 1, ['name' => 'John']);
// Можно увеличивать несколько столбцов сразу
DB::table('users')->incrementEach([
'votes' => 5, // Will increment votes by 5
'balance' => 100, // Will increment balance by 100
]);
// Эти методы также работают с Eloquent
User::query()->incrementEach([
'votes' => 5, // Will increment votes by 5
'balance' => 100 // Will increment balance by 100
]);