首页 > 解决方案 > Laravel 使用 laravel insert eloquent 时删除十进制值

问题描述

我尝试将十进制值插入数据库,但 Laravel 删除了该十进制值。

例如

$price = $request->price; //12.8
$array = [
  "product" => "xxx",
  "price" => $price
];

Models::insert($array);

但是,在数据库记录中,它只显示12price字段中。

有关更多信息,我的数据库中的价格字段数据类型是decimal(10,2)

如果我添加(string) $price或者DB::raw($price)它工作正常。

是否有另一种方法可以将十进制值插入数据库而不DB::raw将其转换为字符串?

标签: phplaravel

解决方案


如果您已将PDO::ATTR_EMULATE_PREPARES => true,其设置为false并重试。


推荐阅读