Symfony2自定义doctrine类型未添加onload

时间:2013-12-30 03:08:21

标签: php symfony enums doctrine-orm doctrine

我正在尝试在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添加类型?

由于

0 个答案:

没有答案