Doctrine - 检索子类中的字段列表会聚合所有字段

时间:2009-12-14 18:46:20

标签: php doctrine

我有一个包含具有多个子类的类的对象模型。 子类共享父节点中的几个字段,但它们各自都有 他们自己的领域也是如此。

我正在使用column_aggregation继承类型来执行此操作,因为我 希望能够以多态方式存储父类的对象 类型,但检索子类类型的对象。

到目前为止,我可以检索其子类类型完整的对象。 我的问题是,当我在任何子类上调用getColumns()时,我 得到聚合表的所有字段,所以我看到了每个字段 所有子类在一起。

有没有办法只获取实际属于的字段 子类?

1 个答案:

答案 0 :(得分:1)

设计方面getColumns()的输出是正确的(它只返回聚合表的所有列)。我认为Doctrine_Table->getColumns()没有注意到有问题的表有子类这一事实。尝试使用Doctrine_Table->getColumnDefinition()或作为最后的手段Doctrine_Table->getColumnOwner($column)来推断哪些列属于哪个子类。