我正在使用Symfony2/Doctrine2。在findBy魔術方法中自動添加Join語句
我想覆蓋BaseEntityRepository類,所以神奇的findBy方法自動添加一個「翻譯」關係的JOIN。在Symfony 1.4/Doctrine 1中很容易做到,因爲它操縱的是Doctrine_Query對象,所以我只需要$ query-> addJoin()就可以了。
不幸的是,在Doctrine 2中,您只收到一組標準作爲參數,這就是我被卡住的地方。
我收到了許多與翻譯實體有一對多關係的實體。
對於爲例:節與SectionTranslation
目標是僅檢索「活動」的部分(活性是在SectionTranslation)使用時SectionRepository->的findAll()的一對多的關係; (甚至findBy)。
想要的DQL結果是:select * from Section INNER JOIN SectionTranslation ON Section.id = SectionTranslation.translatable_id WHERE SectionTranslation.locale = $ locale AND SectionTranslation.active = 1;
有什麼想法?