我有一个DQL查询问题,我有和实体栏和提示(它在条上计数用户评论)。返回按Symfony和DQL的联合表中的记录数排序的记录
的问题是,我想说明的6条列表排序,像这样:第一
- 热门酒吧(在酒吧实体领域的地位)
- 提示数
我的问题是,即使他们在顶栏上,没有提示的酒吧也不会显示。
这是我的DQL查询。
$qb = $this->createQuerybuilder($this->getAlias());
$qb
->select($this->getAlias().", COUNT(tp) AS HIDDEN nbTips")
->leftjoin($this->getAlias().'.tips', 'tp')
->where($qb->expr()->eq($this->getAlias().'.onTop', $qb->expr()->literal(true)))
->andWhere($qb->expr()->eq($this->getAlias().'.status', $qb->expr()->literal(Bar::BAR_STATUS_ENABLED_VALUE)))
->andWhere($qb->expr()->eq('tp.status', $qb->expr()->literal(1)))
->groupBy($this->getAlias())
->orderBy($this->getAlias().'.onTop', 'DESC')
->addOrderBy('nbTips', 'DESC')
->setMaxResults(6)
;
return $qb->getQuery()->getResult();
请帮忙吗?
您只能使用'where'一次。之后使用'andWhere'。 – dmnptr
是的第二个地方是评论我删除了评论,当我把它粘贴在这里,问题不是来自那不幸的地方,谢谢你的remarque。 – Fanopsis
尝试将tp.status移动到像' - > leftjoin($ this-> getAlias()。'tips','tp','WITH','tp.status',$ qb-> expr( ) - >文字(1))' – qooplmao