我試圖在laravel 5.1中保存貨幣格式。在Laravel中定義Money Fomat
下面是表價定義:
$table->decimal(price,6,2);
例如;當1.000,50
土耳其里拉斯保存到MySQL這種格式
如何解決這個問題?
我試圖在laravel 5.1中保存貨幣格式。在Laravel中定義Money Fomat
下面是表價定義:
$table->decimal(price,6,2);
例如;當1.000,50
土耳其里拉斯保存到MySQL這種格式
如何解決這個問題?
你可以嘗試定義這樣
$table->decimal('price',9,3);
如果你的價格,
9是精度,即1234567.89有9
3精度是小數的個數,即123456.789的比例爲3
您可以參考此鏈接瞭解數據庫的精度和縮放比例 How do I interpret precision and scale of a number in a database?
我建議不要使用浮點值來存儲貨幣作爲小數,因爲它們存儲在系統中的方式不會像您期望的那樣執行。
如果將價值儲存在kuruş中,將會好得多,因爲從長遠來看,這會更容易。其次,如果你使用Eloquent,你可以在模型上使用get/set增變器。
public function getPriceAttribute($price)
{
return $price/100;
}
public function setPriceAttribute($price)
{
$this->attributes['price'] = $price * 100;
}
這樣你不必手動轉換價格。
希望這會有所幫助!