How to select distinct query using symfony2 doctrine query builder? How to select distinct query using symfony2 doctrine query builder? symfony symfony

How to select distinct query using symfony2 doctrine query builder?


This works:

$category = $catrep->createQueryBuilder('cc')        ->select('cc.categoryid')        ->where('cc.contenttype = :type')        ->setParameter('type', 'blogarticle')        ->distinct()        ->getQuery();$categories = $category->getResult();

Edit for Symfony 3 & 4.

You should use ->groupBy('cc.categoryid') instead of ->distinct()


If you use the "select()" statement, you can do this:

$category = $catrep->createQueryBuilder('cc')    ->select('DISTINCT cc.contenttype')    ->Where('cc.contenttype = :type')    ->setParameter('type', 'blogarticle')    ->getQuery();$categories = $category->getResult();


you could write

select DISTINCT f from t;

as

select f from t group by f;

thing is, I am just currently myself getting into Doctrine, so I cannot give you a real answer. but you could as shown above, simulate a distinct with group by and transform that into Doctrine. if you want add further filtering then use HAVING after group by.