我有这个symfony代码,它在其中检索与项目中的博客部分相关的所有类别:
$category = $catrep->createQueryBuilder('cc')
->Where('cc.contenttype = :type')
->setParameter('type', 'blogarticle')
->getQuery();
$categories = $category->getResult();
这可行,但是查询包含重复项:
Test Content
Business
Test Content
我想DISTINCT
在查询中使用该命令。我所看到的唯一示例要求我编写原始SQL。我想尽可能避免这种情况,因为我试图使所有代码保持相同,因此它们都使用Symfony2 / Doctrine提供的QueryBuilder功能。
我试图distinct()
像这样添加到我的查询:
$category = $catrep->createQueryBuilder('cc')
->Where('cc.contenttype = :type')
->setParameter('type', 'blogarticle')
->distinct('cc.categoryid')
->getQuery();
$categories = $category->getResult();
但这会导致以下错误:
致命错误:调用未定义的方法Doctrine \ ORM \ QueryBuilder :: distinct()
如何告诉symfony选择与众不同?