Mam ten kod symfony gdzie pobiera wszystkie kategorie związane z sekcji blogu na moim projekcie:Jak wybrać oddzielne zapytanie za pomocą konstruktora zapytań doktryny Symfony2?
$category = $catrep->createQueryBuilder('cc')
->Where('cc.contenttype = :type')
->setParameter('type', 'blogarticle')
->getQuery();
$categories = $category->getResult();
To działa, ale kwerenda zawiera duplikaty:
Test Content
Business
Test Content
chcę użyć DISTINCT
polecenie w moim zapytaniu. Jedyne przykłady, jakie widziałem, wymagają napisania surowego kodu SQL. Chcę tego uniknąć tak bardzo, jak to tylko możliwe, ponieważ staram się zachować cały mój kod tak samo, aby wszyscy korzystali z funkcji QueryBuilder dostarczanej przez Symfony2/Doctrine.
Próbowałem dodanie distinct()
do mojego zapytania tak:
$category = $catrep->createQueryBuilder('cc')
->Where('cc.contenttype = :type')
->setParameter('type', 'blogarticle')
->distinct('cc.categoryid')
->getQuery();
$categories = $category->getResult();
Ale to prowadzi do następującego błędu:
Fatal error: Call to undefined method Doctrine\ORM\QueryBuilder::distinct()
Jak mogę powiedzieć symfony, aby wybrać odrębny?
powinien być przechodzącą wartość logiczną do odrębnego function(). http://www.doctrine-project.org/api/orm/2.2/class-Doctrine.ORM.QueryBuilder.html#_distinct – Omn