У меня есть этот код 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.
Я попробовал добавить distinct()
к моему запросу:
$category = $catrep->createQueryBuilder('cc')
->Where('cc.contenttype = :type')
->setParameter('type', 'blogarticle')
->distinct('cc.categoryid')
->getQuery();
$categories = $category->getResult();
Но это приводит к следующей ошибке:
Неустранимая ошибка: вызов метода undefined Doctrine\ORM\QueryBuilder:: distinct()
Как указать symfony выбрать отдельный?