Create new custom Doctrine type class:
app\src\Doctrine\DBAL\Types\Tinyint.php
namespace App\Doctrine\DBAL\Types;
use Doctrine\DBAL\Types\Type;
use Doctrine\DBAL\Platforms\AbstractPlatform;
class Tinyint extends Type
{
const TINYINT = 'tinyint';
public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform)
{
$fieldDeclaration = array_merge([
'length' => 1,
], $fieldDeclaration);
return sprintf("TINYINT(%d)",
$fieldDeclaration['length']
);
}
public function convertToPHPValue($value, AbstractPlatform $platform)
{
return (int) $value;
}
public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
return (int) $value;
}
public function getName()
{
return self::TINYINT;
}
public function getBindingType()
{
return \PDO::PARAM_INT;
}
}
Add define config:
config/packages/doctrine.yml
doctrine:
dbal:
types:
tinyint: App\Doctrine\DBAL\Types\Tinyint
In entity class:
app\src\Entity\User.php
/**
* @ORM\Column(name="DEL_F", type="tinyint", options={"default" = 0}, length=1)
*/
private $del_f;
0 Comments