Doctrine ODM Discriminator - 根据特征而不是类型进行区分

时间:2012-10-31 14:49:09

标签: php mongodb doctrine doctrine-orm traits

我正在使用Doctrine \ ODM \ MongoDB并在文件中存储三种不同类型的文档。其中一些是mixins。

我的问题是,“我可以区分这些文件按特征而非类型?”,这意味着代替

    /** @ODM\DiscriminatorField(fieldName="type") */
    ...
    ActorType1.type: singer
    ActorType2.type: musician
    ActorType3.type: singerMusician

我想做点什么

    ActorType1.canDo: sing
    ActorType2.canDo: playMusic
    ActorType3.canDo: [sing, playMusic]

的伪代码:

查找(< 所有那些能够唱出>的人)返回类型1 类型3

这可能吗?

1 个答案:

答案 0 :(得分:1)

似乎Doctrine并不喜欢继承。

在我的情况下,即使使用基本的判别器也是不可能的。

基本上,如果我要在同一个集合中存储多个文档,它们必须没有任何共同的特征,包括从父类继承或通过PHP特征导入的属性。

我真的希望将来能够实现这一目标。