symfony Doctrine中的declare返回字符串

oug3syen  于 2023-10-23  发布在  其他
关注(0)|答案(2)|浏览(106)

我有一个这样的领域December

/**
 *
 * @ORM\Column(name="foo", type="decimal", precision=0, scale=2, nullable=false, unique=false)
 */
private $foo;

当我使用getFoo()QueryBuilder时,我的值是“159.79”而不是159.79。我如何获得正确的类型?

7dl7o3gd

7dl7o3gd1#

即使您在Doctrine注解中将其声明为小数,当它被检索时,PHP也会将其视为字符串。
参考这里。
从数据库中检索的值总是转换为PHP的字符串类型,如果没有数据,则转换为null。
你可以改变getter,将其转换为一个float,然后返回。
例如

public function getFoo()
{
    return (float) $this->foo;
}

public function getFoo()
{
    return floatval($this->foo);
}

查看Type Juggling了解更多信息。
关于floatVal()here的更多信息

a0x5cqrl

a0x5cqrl2#

输入你的属性以浮动,当你获取实体时,它应该自动转换它:

/**
 *
 * @ORM\Column(name="foo", type="decimal", precision=0, scale=2, nullable=false, unique=false)
 */
private float $foo;

相关问题