У меня есть этот код 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 выбрать отдельные?