How to use increment() and decrement() in laravel?

by elise_daugherty , in category: PHP Frameworks , 8 months ago

How to use increment() and decrement() in laravel?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

Member

by denis , 8 months ago

@elise_daugherty 

In Laravel, the increment() and decrement() methods are provided by the Eloquent ORM for updating numeric values in a database table. These methods allow you to increase or decrease the value of a column by a given amount.


To use increment(), you need to provide the column name as the first argument and an optional value as the second argument representing the amount by which the column value should be increased. Here's an example:

1
2
3
4
5
// Increment the value of the 'views' column by 1
Post::where('id', 1)->increment('views');

// Increment the value of the 'views' column by 5
Post::where('id', 1)->increment('views', 5);


Similarly, the decrement() method works in the same way but decreases the value. Here's an example:

1
2
3
4
5
// Decrement the value of the 'views' column by 1
Post::where('id', 1)->decrement('views');

// Decrement the value of the 'views' column by 5
Post::where('id', 1)->decrement('views', 5);


You can also use these methods with the update() method to combine multiple column updates in a single query. Here's an example:

1
2
3
4
5
// Increment the value of the 'views' column by 1 and set the 'updated_at' column to the current timestamp
Post::where('id', 1)->update([
    'views' => DB::raw('views + 1'),
    'updated_at' => now()
]);


These methods provide a convenient way to update numeric values in Laravel's Eloquent ORM. However, keep in mind that using these methods directly on a model can bypass certain events and observers, so make sure to handle any necessary logic accordingly.