【发布时间】:2011-11-03 12:45:25
【问题描述】:
我有这个 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 选择 distinct?
【问题讨论】:
-
您应该将布尔值传递给 distinct() 函数。 doctrine-project.org/api/orm/2.2/…
标签: php doctrine-orm symfony query-builder