Symfony 区分Doctrine2中的多对一对象关系

Symfony 区分Doctrine2中的多对一对象关系,symfony,doctrine-orm,Symfony,Doctrine Orm,我目前正在为Symfony2开发一个通用的投票包,但我无意中发现Doctrine2的局限性,或者我自己对其功能的理解 在这个捆绑包中,只有一个投票实体,并且它与n个其他对象具有一对多关系。我知道如果我使用纯SQL(如下所示),我将如何做到这一点,但是在Doctrine2中,我是否可以对以下内容做类似的事情?如果没有,你能推荐其他解决方案供我研究吗 CREATE TABLE votes ( vote_id int unsigned not null auto_increment, targ

我目前正在为Symfony2开发一个通用的投票包,但我无意中发现Doctrine2的局限性,或者我自己对其功能的理解

在这个捆绑包中,只有一个投票实体,并且它与n个其他对象具有一对多关系。我知道如果我使用纯SQL(如下所示),我将如何做到这一点,但是在Doctrine2中,我是否可以对以下内容做类似的事情?如果没有,你能推荐其他解决方案供我研究吗

CREATE TABLE votes (
  vote_id int unsigned not null auto_increment,
  target_id int unsigned not null,
  target_class varchar(64) not null,
  vote_value tinyint(1) not null default 0,
  PRIMARY KEY (vote_id)
);

CREATE TABLE voteable_entity_a (
  -- whatever columns
);

CREATE TABLE voteable_entity_b (
  -- whatever columns
);
我注意到有单表继承,我可以在其中使用鉴别器列,但这是为了基于最高投票率类拥有多个对象。这不是我想要的


最糟糕的情况是,退回到只使用QueryBuilder来处理所有事情有多糟糕?

这是不受支持的,我以前也有过类似的功能请求,但在不向域模型公开细节的情况下支持它是相当棘手的。Typo3当前使用以下变通方法:


这是不受支持的,我以前也有类似的功能请求,但在不向域模型公开细节的情况下支持这一点是相当棘手的。Typo3当前使用以下变通方法:


太棒了,我希望你能把我送到一个已经解决了的地方。非常感谢,本杰明!太棒了,我希望你能把我送到一个已经解决了的地方。非常感谢,本杰明!