Как выбрать отдельный запрос с помощью конструктора запросов symfony2 doctrine?

У меня есть этот код Symfony, из которого он извлекает все категории, относящиеся к разделу блога в моем проекте:

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

$categories = $category->getResult();

Это работает, но запрос включает дубликаты:

Test Content
Business
Test Content

Я хочу использовать команду DISTINCT в моем запросе. Единственные примеры, которые я видел, требуют от меня написания необработанного SQL. Я хочу избежать этого в максимально возможной степени, так как я стараюсь сохранить весь свой код одинаковым, поэтому все они используют функцию QueryBuilder, предоставляемую Symfony2 / Doctrine.

Я попытался добавить unique () в мой запрос выглядит следующим образом:

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

$categories = $category->getResult();

Но он приводит к следующей ошибке:

Неустранимая ошибка: вызов неопределенного метода Doctrine \ ORM \ QueryBuilder :: independent ()

Как мне указать symfony выбрать отдельные?

71
задан Eric Leschinski 4 December 2013 в 05:38
поделиться