Php Symfony ElasticaBundle查询\u生成器\u方法
我需要上传状态已批准的elastic Lead inly,这是我的,映射: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
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:(为什么不工作查询构建器?)?