【问题标题】:Doctrine 2 custom type教义 2 自定义类型
【发布时间】:2013-03-20 09:41:18
【问题描述】:

我正在尝试按照以下示例进行操作 http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/types.html 并创建自定义数量类型。当数量类型定义为:

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()

【问题讨论】:

  • 我怀疑“return $value->toDecimal();”是出于演示的原因

标签: symfony types doctrine-orm


【解决方案1】:

您获得的$valuestringnull。你不能打电话给toDecimal。试试:

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

【讨论】:

    猜你喜欢
    • 2011-06-17
    • 1970-01-01
    • 2021-01-25
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多