Ich bevorzuge die Verwendung der Abfrage-Generator in meinem Projekt zu erzwingen, finde ich die sql produziert ist vorhersehbarer als Schreiben von geraden DQL (Es hat einige sehr seltsame Verbindungen auf mich in der Vergangenheit gemacht) . Ich habe jedoch festgestellt, dass diese DQL die einzige Möglichkeit ist, diese Aggregationsabfrage durchzuführen.Doctrine2 DQL-Äquivalent in Query Builder
$q = $this->getEntityManager()->createQuery(<<<DQL
SELECT IDENTITY(p.business, 'id') as businessId, SUM(p.amount) as points
FROM APIBundle\Entity\Point p
WHERE IDENTITY(p.user, 'id') = :user
GROUP BY p.business
DQL
)
->setParameter('user', $user->getId())
;
return $q;
Ist dies meine einzige Option oder kann der QueryBuilder für das gleiche Ergebnis verwendet werden?
Ich verstehe, dass der Querybuilder eher ein Orm-Tool mit Hydration usw. und nicht so nützlich für mehr Array-basierte nicht hydratisierte Abfrage Resultsets ist.