如何从查询生成器中删除参数?

var*_*ius 4 mysql symfony doctrine-orm

我的查询构建器有问题.我正在使用symfony.我想要实现的内容:我有一个给定的查询构建器,我想根据此查询计算所有行.所以我致力于以下解决方案:

$aliases = $queryBuilder->getRootAliases();
$alias = array_values($aliases)[0];

$cloneQueryBuilder = clone $queryBuilder;
$from = $cloneQueryBuilder->getDQLPart('from');

$cloneQueryBuilder->resetDQLParts();

$newQueryBuilder = $cloneQueryBuilder
    ->select('count(' . $alias . '.id)')
    ->add('from', $from[0]);

$this->total = $newQueryBuilder->getQuery()->getSingleScalarResult();
Run Code Online (Sandbox Code Playgroud)

但是我得到一个例外:Too many parameters: the query defines 0 parameters and you bound 1有谁知道如何解决它?

Jos*_*hua 8

调用setParameters应覆盖所有现有参数.