1

我正在使用 Doctrine\ODM\MongoDB 并将三种不同类型的文档存储在一个集合中。其中一些是mixin。

我的问题是,“我可以通过特征而不是类型来区分这些文档吗?”,这意味着不是

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

我想做类似的事情

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

伪代码:

find(< all those who can sing >) 返回类型为 1类型为 3的所有 Actor 。

这可能吗?

4

1 回答 1

1

似乎 Doctrine 并不喜欢继承。

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

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

我真的希望他们将来能做到这一点。

于 2012-11-01T12:51:49.743 回答