Laracode
Laracode

Методы 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
]);

Laravel методы whereKey и findMany

Знали ли вы, что в Laravel есть методы whereKey и findMany? Они делают ваши запросы where in более читаемыми, а также избавляет от необходимости запоминать имя первичного ключа 🚀

<?php

// 😕 Вместо этого
Post::whereIn('id', [1,2,3])->get();
Post::whereNotIn('id', [1,2,3])->get();

// 😎 Можно вот так
Post::whereKey([1,2,3])->get();
Post::whereKeyNot([1,2,3])->get();

// Или даже вот так
Post::findMany([1,2,3]);