我有一个像这样的十进制字段
/**
*
* @ORM\Column(name="foo", type="decimal", precision=0, scale=2, nullable=false, unique=false)
*/
private $foo;
Run Code Online (Sandbox Code Playgroud)
当我使用getFoo()或时,QueryBuilder我的值是“ 159.79”而不是159.79。如何获得正确的类型?
即使您已在Doctrine批注中将其声明为十进制,但在检索时,PHP会将其视为字符串。
参考这里。
从数据库中检索到的值始终转换为PHP的字符串类型,如果不存在数据,则返回null。
您可以将吸气剂更改为浮点型,然后返回。
例如
public function getFoo()
{
return (float) $this->foo;
}
Run Code Online (Sandbox Code Playgroud)
要么
public function getFoo()
{
return floatval($this->foo);
}
Run Code Online (Sandbox Code Playgroud)
看看类型戏法的更多信息。
更多信息在floatVal() 这里
| 归档时间: |
|
| 查看次数: |
3194 次 |
| 最近记录: |