Php Symfony ElasticaBundle查询\u生成器\u方法

Php Symfony ElasticaBundle查询\u生成器\u方法,php,symfony,doctrine-orm,foselasticabundle,Php,Symfony,Doctrine Orm,Foselasticabundle,我需要上传状态已批准的elastic Lead inly,这是我的,映射: persistence: driver: orm model: Artel\ProfileBundle\Entity\Lead provider: query_builder_method: createIsA

我需要上传状态已批准的elastic Lead inly,这是我的,映射:

                 persistence:
                      driver: orm
                      model: Artel\ProfileBundle\Entity\Lead
                      provider:
                        query_builder_method: createIsActiveQueryBuilder
                      listener: ~
                      finder: ~
和我的查询构建器方法:createIsActiveQueryBuilder:

public function createIsActiveQueryBuilder()
{
    $qb = $this->getEntityManager()->createQueryBuilder('d');

    $qb
        ->select('d')
        ->from('ArtelProfileBundle:Lead', 'd')
        ->where('d.statusLead = :status')
        ->setParameter('status', 'approved')
    ;

    return $qb;
}
但是当我跑的时候

app/console fos:elastica:populate --no-reset
我读了博士的书

Your repository must implement this method and return a Doctrine query builder.

在我的DB中,我有两个状态为“未批准”的潜在客户,当我更改一个状态为“已批准一切正常”时,我有一个状态为“弹性”的潜在客户。但是,如果在DB中,我没有状态为“已批准”的lead,我会一直出错吗

但有错误:

PHP Fatal error:  Wrong parameters for Exception([string $exception [, long $code [, Exception $previous = NULL]]]) in /home/ivan/host/aog-code/vendor/ruflin/elastica/lib/Elastica/Exception/ResponseException.php on line 34

 [Symfony\Component\Debug\Exception\FatalErrorException]                                                   
 Error: Wrong parameters for Exception([string $exception [, long $code [, Exception $previous = NULL]]]) 
当我创建默认状态为“not_approved”的新Lead时,为什么我不理解listener上载此Lead,为什么不使用query_builder


为什么不明白,我做错了什么?

消息指出您应该返回QueryBuilder实例。致电:

$query = $qb->getQuery();
return $query;
您正在从QueryBuilder返回一个查询实例

你的职能应该是:

public function createIsActiveQueryBuilder() {
  $qb = $this->getEntityManager()->createQueryBuilder('d');
  return $qb
    ->select('d')
    ->from('ArtelProfileBundle:Lead', 'd')
    ->where('d.statusLead = :status')
    ->setParameter('status', 'approved');
}

我有错误,因为在query\u builder\u方法之前有两个空格,我更新了我的问题我看到返回所有QueryBuilder但有错误。[Symfony\Component\Debug\Exception\FatalErrorException]错误:数据库中异常([string$Exception[,long$code[,Exception$previous=NULL]])的参数错误。我有两个lead状态为“未批准”,当我更改一个状态为“已批准一切正常”时,我有一个lead处于弹性状态。但是如果在DB中我没有状态为approved的lead,我总是会出错?当我创建状态为not_approved的新lead时,此lead上传到elastic:(为什么不工作查询构建器?)?