我对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(...)中找到了如果知道类型就抛出异常......我不明白为什么会抛出这个错误。
答案 0 :(得分:17)
我找到了问题!
我不知道为什么,但我的自定义类型一次又一次加载。
要解决此问题,请添加此代码,例如检查。
if (!Type::hasType("custom")) {
Type::addType("custom", "Namespace\NameBundle\Types\CustomType");
$this->registerDoctrineTypeMapping("CustomType", "custom");
}
有效!