这篇文章主要介绍“Laravel使用increment和decrement出现进度丢失怎么解决”,在日常操作中,相信很多人在Laravel使用increment和decrement出现进度丢失怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Laravel使用increment和decrement出现进度丢失怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
因为历史原因,在Laravel 5.3版本 使用 Eloquent 的 increment
出现了精度丢失,
重写incrementOrDecrementAttributeValue
方法,使用 bcadd
进行计算,保留2位小数。
protected function incrementOrDecrementAttributeValue($column, $amount, $method)
{
$this->{$column} = bcadd($this->{$column}, ($method == 'increment' ? $amount : $amount * -1), 2);
$this->syncOriginalAttribute($column);
}
注: increment
不建议计算浮点数
到此,关于“Laravel使用increment和decrement出现进度丢失怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注天达云网站,小编会继续努力为大家带来更多实用的文章!