我有像这样的字段Decimal
/**
*
* @ORM\Column(name="foo", type="decimal", precision=0, scale=2, nullable=false, unique=false)
*/
private $foo;
当我使用getFoo()
或QueryBuilder
时,我的值是“159.79”而不是159.79。
我怎样才能得到正确的类型?
答案 0 :(得分:4)
即使您在Doctrine注释中将其声明为十进制,但在重新启动时,PHP会将其视为字符串。
Reference here
从数据库中检索的值始终转换为PHP 字符串类型,如果没有数据,则为null。
您可以将吸气剂更改为浮动然后返回 E.g。
public function getFoo()
{
return (float) $this->foo;
}
或
public function getFoo()
{
return floatval($this->foo);
}
请查看Type Juggling了解更多信息
有关floatVal()
here