douyin8623
2019-06-27 07:01 阅读 264
已采纳

使用Laravel Eloquent直接递增或递减列更新

I have a query where in I use Eloquent for finding the ID but what I need is to directly subtract inside the eloquent query ? same as in Query Builder,

Documentation code

$flight = App\Flight::find(1);

$flight->name = 'New Flight Name';

$flight->save();

What I need is to directly to substract

$flight = App\Flight::find(1);

$flight->value =- 1;

$flight->save();
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    doumaoao0182 doumaoao0182 2019-06-27 07:04

    use laravel increment() or decrement() method see

    App\Flight::find(1)->decrement('value',1);
    

    second way u can achieve by update query

     App\Flight::where('id', 1)->update(['value' => \DB::raw('value - 1')]);
    
    点赞 评论 复制链接分享
  • donglang8008 donglang8008 2019-06-27 07:03

    you need to do this

    $flight = App\Flight::find(1);
    
    $flight->value = $flight->value-1;
    
    $flight->save();
    

    hope it helps! :)

    点赞 评论 复制链接分享

相关推荐