减少 laravel 中的列值但不是负值

我可以使用此查询减少列值

 $res = DB::table('leave_summaries')->where('user_id',$request->user_id)->decrement($request->leaveType,$request->day);

但我想限制该值不为负值。


qq_花开花谢_0
浏览 112回答 2
2回答

牧羊人nacy

如果你需要防止负值,你需要检查你是否leaveType大于$request->day    $res = DB::table('leave_summaries')         ->where('user_id', $request->user_id)         ->where($request->leaveType, '>', $request->day)         ->decrement($request->leaveType, $request->day);

慕标琳琳

为了不将列递减为负值,您应该检查查询中的列是否大于零,如下所示:$res = DB::table('leave_summaries') ->where('user_id',$request->user_id) ->where($request->leaveType, '>', 0) ->decrement($request->leaveType,$request->day);
打开App,查看更多内容
随时随地看视频慕课网APP