我正在尝试在Symfony2项目中添加自定义枚举类型。 我用过这里找到的解决方案2: http://docs.doctrine-project.org/en/2.0.x/cookbook/mysql-enums.html
我注册了我的custum类型: http://symfony.com/doc/current/cookbook/doctrine/dbal.html#registering-custom-mapping-types
这与entites很好,但即使我没有连接到数据库,我也需要访问枚举值。 所以,我在EnumType抽象类中添加了一个getValues()函数。
public function getValues()
{
return $this->values;
}
现在我可以访问这样的枚举值:
$t = \Doctrine\DBAL\Types\Type::getType('enumtypename');
var_dump($t->getValues());
但是,似乎只有在建立与数据库的连接时才有效。 我需要添加“$ conn = $ this-> get('database_connection');”之前为了使其发挥作用。 否则,我的自定义类型不会添加到dbal并抛出异常:
请求未知的列类型“enumtypename”。您使用的任何Doctrine类型都必须使用\ Doctrine \ DBAL \ Types \ Type :: addType()注册。
即使我没有访问数据库,有没有办法强制symfony添加类型?
由于