在我的模型中,我有基于 hasMany 關系的總價格計算。它看起來像這樣:
public function totalPrice(): string
{
return num_format($this->hasMany(Direction::class)->sum('price'));
}
我使用 helper.php 檔案中描述的 num_format 函式。如果我需要更改數字格式,我可以隨時編輯輔助函式。但我想知道是否有更好/更好的方法來做到這一點?據我了解,在這種情況下我不能使用 $casts 函式嗎?你怎么認為?您認為我使用的方法正確嗎?謝謝你的想法
uj5u.com熱心網友回復:
我認為這很好,我個人會解耦關系,然后讓 totalPricenum_format($this->directions()->sum('price'))
如果你想要一種全域的方式來定義它,你可以定義一個全域范圍,它可以被稱為類似的東西sumWithDp
,然后在任何具有定義關系的模型中,你可以呼叫:
$this->relation()->sumWithDp('price', $decimalPlaces)
(或者如果你愿意,總是讓它是 2 DP)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/468979.html