1

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() の呼び出し

4

1 に答える 1

1

あなた$valueが得るのは、またはのいずれstringnullです。あなたはそれを呼び出すことはできませんtoDecimal。試す:

public function convertToDatabaseValue($value, AbstractPlatform $platform) {
    return $value === null ? null : (float) $value;
} 
于 2013-03-20T13:05:58.063 に答える