php - Laravel 使用 laravel insert eloquent 时删除十进制值
问题描述
我尝试将十进制值插入数据库,但 Laravel 删除了该十进制值。
例如
$price = $request->price; //12.8
$array = [
"product" => "xxx",
"price" => $price
];
Models::insert($array);
但是,在数据库记录中,它只显示12
在price
字段中。
有关更多信息,我的数据库中的价格字段数据类型是decimal(10,2)
如果我添加(string) $price
或者DB::raw($price)
它工作正常。
是否有另一种方法可以将十进制值插入数据库而不DB::raw
将其转换为字符串?
解决方案
如果您已将PDO::ATTR_EMULATE_PREPARES => true,
其设置为false
并重试。
推荐阅读
- node.js - 如何减少 Typescript 的 dist 大小?
- javascript - 无法设置设置角度材质垫选择默认选项
- html - SVG中的变量和方程?
- python - “缩略图”属性没有与之关联的文件。Django {% if %} {% else%} {% endif %}
- r - 如何将 AND OR 与左连接一起使用
- api - 从 AWS Lambda 函数创建 CloudFormation 堆栈,传递 API Gateway 参数
- python - FileNotFoundError:[Errno 2] 没有这样的文件或目录:'hdfs':'hdfs' 在 crontab 中使用子进程 popen
- python - 如何在 Xgboost 中修复此警告?
- python - 哪个公式用于 statsmodels OLS 中的 t 值和标准误差
- node.js - Heroku 部署了 discord bot 但出现错误:找不到模块'/app/bot.js'