Vandaag werkte ik aan een soortgelijke taak en herinnerde ik me dat ik dit probleem had geopend. Ik weet niet sinds welke doctrineversie het werkt, maar op dit moment kun je gemakkelijk deelnemen aan de kindklassen in overervingstoewijzing. Dus een zoekopdracht als deze werkt probleemloos:
$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);
Ik start de query in mijn bovenliggende klasse die overervingstoewijzing gebruikt. In mijn vorige post was het een ander uitgangspunt, maar hetzelfde probleem als ik me goed herinner.
Omdat het een groot probleem was toen ik dit nummer begon, denk ik dat het ook interessant kan zijn voor andere mensen die er niets van weten.