Ano*_*ous 60 database orm types symfony doctrine-orm
我正在创建一个十进制字段来为我的Symfony2应用程序保存Doctrine2中的财务数据.
目前,它看起来像这样:
/**
* @ORM\Column(type="decimal")
*/
protected $rate;
Run Code Online (Sandbox Code Playgroud)
当我输入一个值并且所述值持久保存到数据库时,它被舍入为整数.我猜我需要为该字段设置精度和比例类型,但我需要有人来解释他们究竟做了什么?
该Doctrine2文档说:
precision:十进制(精确数字)列的精度(仅适用于十进制列)
scale:十进制(精确数字)列的比例(仅适用于十进制列)
但这并没有告诉我太多.
我猜测精度是要舍入的小数位数,所以我假设应该是2,但是什么是比例?规模是重要数字吗?
我的现场宣言应该是这样吗?: -
/**
* @ORM\Column(type="decimal", precision=2, scale=4)
*/
protected $rate;
Run Code Online (Sandbox Code Playgroud)
gig*_*gsy 28
快速说明一下:我必须从属性精度和比例中删除引号,如下所示:
@ORM\Column(type="decimal", precision=8, scale=2)
Run Code Online (Sandbox Code Playgroud)
som*_*aks 11
@Column(type="decimal", precision=5, scale=2) means 123.45
Run Code Online (Sandbox Code Playgroud)