Ich habe diesen Symfony-Code, in dem alle Kategorien abgerufen werden, die sich auf einen Blog-Abschnitt in meinem Projekt beziehen:
$category = $catrep->createQueryBuilder('cc')
->Where('cc.contenttype = :type')
->setParameter('type', 'blogarticle')
->getQuery();
$categories = $category->getResult();
Dies funktioniert, aber die Abfrage enthält Duplikate:
Test Content
Business
Test Content
Ich möchte den DISTINCT
Befehl in meiner Abfrage verwenden. Die einzigen Beispiele, die ich gesehen habe, erfordern, dass ich unformatiertes SQL schreibe. Ich möchte dies so weit wie möglich vermeiden, da ich versuche, meinen gesamten Code gleich zu halten, damit alle die von Symfony2 / Doctrine bereitgestellte QueryBuilder-Funktion verwenden.
Ich habe versucht distinct()
, meiner Abfrage Folgendes hinzuzufügen :
$category = $catrep->createQueryBuilder('cc')
->Where('cc.contenttype = :type')
->setParameter('type', 'blogarticle')
->distinct('cc.categoryid')
->getQuery();
$categories = $category->getResult();
Dies führt jedoch zu folgendem Fehler:
Schwerwiegender Fehler: Aufruf der undefinierten Methode Doctrine \ ORM \ QueryBuilder :: unique ()
Wie sage ich Symfony, dass sie eine bestimmte auswählen soll?