Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Symfony 2:INNER JOIN em tabela não relacionada com construtor de consultas de doutrina


Hoje eu estava trabalhando em uma tarefa semelhante e lembrei que abri este problema. Não sei desde qual versão da doutrina está funcionando, mas agora você pode facilmente juntar as classes filhas no mapeamento de herança. Portanto, uma consulta como esta está funcionando sem nenhum problema:
$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);

Eu começo a consulta na minha classe pai que está usando o mapeamento de herança. No meu post anterior, era um ponto de partida diferente, mas o mesmo problema, se bem me lembro.

Porque foi um grande problema quando comecei esta edição, acho que também pode ser interessante para outras pessoas que não sabem disso.