我知道我可以使用这个查询减少 laravel 中的列值
DB::table('users')->decrement('votes', 5);
但是我想限制这个值不变成负值。
有没有办法用 laravel 做到这一点?
最佳答案
为此您需要使用原始查询。
以下代码应该适用于所有支持 GREATEST 函数的数据库引擎:
DB::table('users')->update(['votes' => DB::raw('GREATEST(votes - 5, 0)')]);
它会将 users 表中的 votes 列减 5,但不会低于零 - 这就是 GREATEST 函数的用途.
关于php - Laravel 递减列值但不是负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40224943/