Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Doctrine persistiert keine Entität mit booleschen Werten und PDO::ATTR_EMULATE_PREPARES =false in Mysql

gserics Antwort wird funktionieren, aber mit dem Effekt, dass Ihre Entitäten mit ganzen Zahlen hydratisiert werden. Um dennoch boolesche Werte in Ihre Entitäten zu bekommen, können Sie einfach BooleanType von Doctrine erweitern :

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

Dann im Bootstrap Ihrer Anwendung:

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