Doctrine2:类型x已经存在

时间:2014-01-02 13:57:52

标签: api types doctrine

我对Doctrine API有疑问。

我想添加一个新的Doctrine Type。我按照此文档创建了类,并在自定义驱动程序中添加了类型。

Type::addType("custom", "Namespace\NameBundle\Types\CustomType");
$this->registerDoctrineTypeMapping("CustomType", "custom");

当我执行php app / console cache时,我的问题会附加:clear。

[Doctrine\DBAL\DBALException]
Type custom already exists.

经过几次搜索后,我在Doctrine \ DBAL \ Types \ Type :: addType(...)中找到了如果知道类型就抛出异常......我不明白为什么会抛出这个错误。

1 个答案:

答案 0 :(得分:17)

我找到了问题!

我不知道为什么,但我的自定义类型一次又一次加载。

要解决此问题,请添加此代码,例如检查。

if (!Type::hasType("custom")) {
    Type::addType("custom", "Namespace\NameBundle\Types\CustomType");
    $this->registerDoctrineTypeMapping("CustomType", "custom");
}

有效!