我想制作Doctrine 2扩展,这将为实体添加额外的字段。我还需要新桌子。字段和表将基于我添加到该实体的自定义注释。我认为必须在loadClassMetadata
事件中以某种方式添加它。
你能提供一些如何实现这个目标的信息吗?
答案 0 :(得分:2)
我找到了。
事件订阅者还可以订阅ORM工具事件,例如postGenerateSchemaTable
事件。
public function getSubscribedEvents()
{
return array(
Doctrine\ORM\Tools\ToolEvents::postGenerateSchemaTable,
Doctrine\ORM\Tools\ToolEvents::postGenerateSchema,
);
}
如果您可以获取架构对象,并在那里插入修改
$schema = $eventArgs->getSchema();
$schema->createTable( ... )