Mam następujący problem w Symfony2/doctrine środowisk:SQL/Doctrine: getResult w leftJoin zwraca obiekt i obiekt odwołanie jako 2 wpisy w tablicy
klasy A ma związek z klasy B, jednak relacja ta nie jest rejestrowana za pomocą adnotacji ORM ani czegokolwiek innego, ponieważ przywoływana tabela jest zmienna. Tak więc przystąpić w następujący sposób:
$query = $this->createQueryBuilder('a')
->select('a')
->addSelect('b')
->leftJoin('My\Bundle\EntityBundle\Entity\OtherClass','b',\Doctrine\ORM\Query\Expr\Join::WITH,'a.referenceId=b.id')
->getQuery()->getResult($hydrationMode);
Otrzymana matryca zawiera teraz zarówno przedmioty A i B (w pewnym sensie jak
array('a1', 'b1', 'a2', 'b2', ....)
). Mógłbym przefiltrować przez to jeszcze raz, ale czuję, że to nie jest droga. Próbowałem różnych trybów Hydration, ale to niczego nie zmieniło.
Czy istnieje sposób, aby go zwrócić, więc stowarzyszenie jest zachowane?
Rozumiem przez to sth jak poniżej:
array(array('a1', 'b1'), array('a2', 'b2'), ...)
?
działa jak marzenie! Z jakiegoś powodu nie próbowałem HYDRATE_SCALAR. –