Laravel LaaVeleEffoand和SU-()-不考虑小数 我遇到了一个奇怪的问题,我需要用一个雄辩的方法来总结一个专栏,但是我使用的每一个功能都不考虑十进制。

Laravel LaaVeleEffoand和SU-()-不考虑小数 我遇到了一个奇怪的问题,我需要用一个雄辩的方法来总结一个专栏,但是我使用的每一个功能都不考虑十进制。,laravel,eloquent,Laravel,Eloquent,首先,我将列设置为adDECIMAL(8,2),数据以正确的方式存储在数据库中 如果我只使用一个简单的查询: select sum(total_after_tax) from invoice_details where invoice_id = 1 我得到的结果是:312.93 现在如果我使用雄辩的: $invoice = Invoice::with(['details'])->get(); dd($invoice->first()->details->sum('to

首先,我将列设置为ad
DECIMAL(8,2)
,数据以正确的方式存储在数据库中

如果我只使用一个简单的查询:

select sum(total_after_tax) from invoice_details where invoice_id = 1
我得到的结果是:
312.93

现在如果我使用雄辩的:

$invoice = Invoice::with(['details'])->get();
dd($invoice->first()->details->sum('total_after_tax'));
我得到:
312


这怎么可能?如何从DB中获得正确的值?

您使用的是什么雄辩的版本?php呢?使用PHP5.6.30和Illumb/database v5.4.19,我得到float(312.93),我使用PHP7.0.13。似乎问题在于,当我对集合使用
sum
时,它会自动对值进行四舍五入。如何检查eloquent版本?如果使用composer,则版本在composer.json和composer.lock中定义。你用的是Laravel还是Elotent?我用的是Laravel,所以在composer文件中没有Elotent你用的是什么Elotent版本?php呢?使用PHP5.6.30和Illumb/database v5.4.19,我得到float(312.93),我使用PHP7.0.13。似乎问题在于,当我对集合使用
sum
时,它会自动对值进行四舍五入。如何检查eloquent版本?如果使用composer,则版本在composer.json和composer.lock中定义。你们用的是Laravel还是仅仅是雄辩?我用的是Laravel,所以作曲家文件中并没有雄辩