我正在使用Symfony2 / Doctrine2。
我正在尝试覆盖BaseEntityRepository类,因此神奇的findBy方法会自动在“翻译”关系上添加JOIN。在Symfony 1.4 / Doctrine 1中很容易做到,因为它操纵了一个Doctrine_Query对象,所以我只需要$ query-> addJoin()就行了。
不幸的是,在Doctrine 2中,你只收到一系列标准作为参数,这就是我被困的地方。
我有很多与翻译实体有一对多关系的实体。
例如:Section作为与SectionTranslation的一对多关系
目标是在使用SectionRepository-> findAll()时仅检索“活动”部分(活动在SectionTranslation中)。 (甚至找到)。
想要的DQL结果是:从Section INNER JOIN中选择* SectionTranslation ON Section.id = SectionTranslation.translatable_id WHERE SectionTranslation.locale = $ locale AND SectionTranslation.active = 1;
有什么想法吗?
答案 0 :(得分:0)
解决方案可能是为特定实体和特定方法添加事件侦听器。