Alt*_*ian 2 php schema laravel-5.4
我想在laravel模式中创建一个价格列.
public function up()
{
Schema::create('cameras', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('condition');
$table->string('price');
$table->string('type');
$table->timestamps();
});
}
Run Code Online (Sandbox Code Playgroud)
或者我可以使用替代数据类型吗?因为我在文档中没有看到任何货币价值.任何帮助,将不胜感激.
Sum*_*hwa 10
我同意@stardust4891,最好使用小数来精确存储价格值:
$table->decimal('price', 10, 2);
Run Code Online (Sandbox Code Playgroud)
或者,您也可以使用大整数并将金额存储在基本货币单位(如美分)中。像这样:
$table->bigInteger('price');
Run Code Online (Sandbox Code Playgroud)
因此,如果我们想存储比方说$ 107.45(107 美元,45 美分),我们首先将其乘以 100并存储10745在价格列中。并在检索除以 100。
小智 6
除非你不想节省货币,否则你的目的有"浮动"类型似乎很好,
即:$ table-> float('amount').
可用类型列在文档中.
https://laravel.com/docs/5.4/migrations#creating-columns
如果您确实想要使用价格保存货币,则必须使用字符串,或者为货币类型创建新列可能是另一种解决方法.
| 归档时间: |
|
| 查看次数: |
4583 次 |
| 最近记录: |