首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拉勒维尔雄辩的属性铸造不起作用

拉勒维尔雄辩的属性铸造不起作用
EN

Stack Overflow用户
提问于 2021-01-15 19:40:44
回答 1查看 658关注 0票数 2

我的数据库中有一个字段存储decimal值。它在我的数据库迁移中是这样定义的:

代码语言:javascript
复制
$table->decimal('buy_amount', 16, 8)->default(0);

现在,使用Laravel雄辩器从数据库中读取,它将返回一个字符串值。根据文件,我尝试使用$casts数组将其转换到模型文件中,但是它使没有区别的。值得一提的是,除了小数外,其他演员都很好。

代码语言:javascript
复制
protected $casts = [
    'buy_amount' => 'decimal:8',
];

我得到的结果是:

,我错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-15 21:19:22

这是因为PHP没有decimal类型,因此值被转换为string (参见这个Laracast的职位)。

当转换为十进制时,将调用Illuminate\Database\Eloquent\Concerns\HasAttributes中的Illuminate\Database\Eloquent\Concerns\HasAttributes函数;该函数使用本机PHP函数number_format返回一个字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65742578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档