我正在使用减去时间的查询。问题是,当到达00:00:00时,它不会停止减法,而开始像- 00:20:00
那样变成负数
Sale::where('date','=',$current->toDateString())
->where('time','<=',$current->toTimeString())
->update(['duration' => DB::raw('DATE_SUB(duration, INTERVAL 1 MINUTE)')]);
我想在00:00:00
上停止它
答案 0 :(得分:1)
尝试一下:
Sale::where('date', $current->toDateString())
->where('time', '<=', $current->toTimeString())
->update([
'duration' => DB::raw('GREATEST(DATE_SUB(duration, INTERVAL 1 MINUTE), TIME(0))')
]);
这将通过添加assign
MySQL函数将可能的最低时间值限制为00:00:00。