Symfony 第2条原则习惯类型

Symfony 第2条原则习惯类型,symfony,types,doctrine-orm,Symfony,Types,Doctrine Orm,我正在努力学习下面的例子 并创建自定义数量类型。当数量类型定义为: class Quantity extends Type { const QUANTITY = 'quantity'; // modify to match your type name public function getSqlDeclaration(array $fieldDeclaration, AbstractPlatform $platform) { return 'decimal(10,2)'; }

我正在努力学习下面的例子 并创建自定义数量类型。当数量类型定义为:

class Quantity extends Type
{
 const QUANTITY = 'quantity'; // modify to match your type name

 public function getSqlDeclaration(array $fieldDeclaration, AbstractPlatform $platform)
 {
    return 'decimal(10,2)';
 }

 public function getName()
 {
    return self::QUANTITY;
 }
}

但是在介绍的时候

public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
    return $value->toDecimal();
}
我在保存时遇到以下错误:

FatalErrorException:错误:对…\Types\Quantity.php第26行中的非对象调用成员函数toDecimal()


您得到的
$value
要么是
字符串
要么是
空值
。您不能对其调用
来指定
。尝试:

public function convertToDatabaseValue($value, AbstractPlatform $platform) {
    return $value === null ? null : (float) $value;
} 

您得到的
$value
要么是
字符串
要么是
空值
。您不能对其调用
来指定
。尝试:

public function convertToDatabaseValue($value, AbstractPlatform $platform) {
    return $value === null ? null : (float) $value;
} 
我怀疑“return$value->toDecimal();”是出于演示原因我怀疑“return$value->toDecimal();”是出于演示原因