2017-11-22 13:51:04 -05:00
|
|
|
<?php
|
|
|
|
|
2018-02-14 16:42:39 -05:00
|
|
|
namespace App\Types;
|
2017-11-22 13:51:04 -05:00
|
|
|
|
|
|
|
use Doctrine\DBAL\Types\Type;
|
|
|
|
use Doctrine\DBAL\Platforms\AbstractPlatform;
|
|
|
|
|
2018-02-14 16:42:39 -05:00
|
|
|
use App\ValueObject\Money;
|
2017-11-22 13:51:04 -05:00
|
|
|
|
|
|
|
class MoneyType extends Type {
|
|
|
|
|
2018-02-14 15:08:03 -05:00
|
|
|
public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform): string
|
2017-11-22 13:51:04 -05:00
|
|
|
{
|
|
|
|
return 'MONEY';
|
|
|
|
}
|
|
|
|
|
|
|
|
public function convertToPHPValue($value, AbstractPlatform $platform)
|
|
|
|
{
|
2018-07-23 09:52:00 -04:00
|
|
|
return (float)(new Money($value))->__toString();
|
2017-11-22 13:51:04 -05:00
|
|
|
}
|
|
|
|
|
2018-02-14 15:08:03 -05:00
|
|
|
public function getName(): string
|
2017-11-22 13:51:04 -05:00
|
|
|
{
|
|
|
|
return 'money';
|
|
|
|
}
|
2018-02-14 15:08:03 -05:00
|
|
|
}
|