Order DQL Join by Count

I need a DQL query:

$dql = "SELECT p, count(u.id) as ucnt FROM IAA\Entity\Project p " .
       "JOIN p.likedByUsers u ORDER BY ucnt";
$query = $this->_em->createQuery($dql);

The question is, how can I sort by invoice, but DO NOT get them as a result? I want to get only projects sorted by invoice, not arrays with [project] and [ucnt].

+5
source share
2 answers

Starting with Doctrine 2.2 (source) :

SELECT a, COUNT(b.id) AS HIDDEN c [...] ORDER BY c
+5
source

Try:

$dql = "SELECT p FROM IAA\Entity\Project p " .
       "JOIN p.likedByUsers u ORDER BY count(u.id)";
$query = $this->_em->createQuery($dql);
-1
source

All Articles