Mysql
 sql >> Base de données >  >> RDS >> Mysql

Doctrine ne persiste pas l'entité avec des valeurs booléennes et PDO ::ATTR_EMULATE_PREPARES =false dans Mysql

réponse de gseric fonctionnera mais avec pour effet d'hydrater vos entités avec des entiers. Pour toujours obtenir des booléens dans vos entités, vous pouvez simplement étendre le BooleanType de Doctrine :

class BooleanToIntType extends \Doctrine\DBAL\Types\BooleanType
{
    public function getBindingType()
    {
        return \PDO::PARAM_INT;
    }
}

Ensuite, dans le bootstrap de votre application :

\Doctrine\DBAL\Types\Type::overrideType('boolean', BooleanToIntType::class);