阅读(2281) (7)

Laravel 8 自增与自减

2021-07-07 09:14:30 更新

查询构造器还为给定字段的递增或递减提供了便捷的方式。此方法提供了一个比手动编写 update 语句更具表达力且更精练的接口。

这两种方法都至少接收一个参数:需要修改的列。可选的第二个参数用于控制列递增或递减的量:

DB::table('users')->increment('votes');

DB::table('users')->increment('votes', 5);

DB::table('users')->decrement('votes');

DB::table('users')->decrement('votes', 5); 

你也可以在操作过程中指定要更新的其他字段:

DB::table('users')->increment('votes', 1, ['name' => 'John']); 

注意:当你使用模型中的 incrementdecrement 方法时,会触发 updating 和 updated 模型事件。而在构造器中直接使用 incrementdecrement,不会触发模型事件。