У мене є цей код 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();
Але це призводить до наступної помилки:
Фатальна помилка: виклик невизначеного методу Doctrine \ ORM \ QueryBuilder :: distinct ()
Як сказати symfony вибрати відмінний?