Laravel不保存小数

时间:2019-03-06 22:09:02

标签: mysql laravel

Laravel 5.3,PHP 7.2和货币字段存在问题。

这是我的迁移脚本,我也将“数量”字段也更改为小数,但不起作用。

public function up()
{
    Schema::create('order_details', function(Blueprint $table)
    {
        $table->integer('id', true);
        $table->integer('order_id');
        $table->string('product_id', 15);
        $table->string('unit', 10);
        $table->double('price', 10,2)->default(0.00);
        $table->double('quantity', 10, 2)->default(0);
        $table->double('amount', 18,2)->default(0.00);


        $table->double('sup_price',10,2)->default(0.00);
        $table->double('sup_quantity',4,2)->default(0);
        $table->double('sup_amount',18,2)->default(0.00);
    });
}

在我的控制器中,我已经对该值进行了硬编码

$modelName->amount = 24.87;
$modelName->save();

当我查看数据库时,它只存储24个。

它可能有什么问题。谢谢

1 个答案:

答案 0 :(得分:2)

尝试一下:

$modelName->amount = number_format(24.87, 2, '.', '');

这适用于m