Днес работих по подобна задача и се сетих, че отворих този въпрос. Не знам от коя версия на доктрината работи, но точно сега можете лесно да се присъедините към дъщерните класове в картографирането на наследството. Така че заявка като тази работи без проблем:
$query = $this->createQueryBuilder('c')
->select('c')
->leftJoin('MyBundleName:ChildOne', 'co', 'WITH', 'co.id = c.id')
->leftJoin('MyBundleName:ChildTwo', 'ct', 'WITH', 'ct.id = c.id')
->orderBy('c.createdAt', 'DESC')
->where('co.group = :group OR ct.group = :group')
->setParameter('group', $group)
->setMaxResults(20);
Започвам заявката в моя родителски клас, който използва картографиране на наследяване. В предишната ми публикация беше различна отправна точка, но същият проблем, ако си спомням правилно.
Тъй като беше голям проблем, когато започнах този въпрос, мисля, че може да бъде интересен и за други хора, които не знаят за него.