我遇到一些非常简单的请求,我试图使用doctrine:
return $this->createQueryBuilder('l')
->set('l.valide', true)
->andWhere('l.artiste=:artiste')
->andWhere('l.client=:client')
->andWhere('l.annonce=:annonce')
->setParameters(
array(
':artiste' => $artiste,
':client' => $client,
':annonce' => $annonce
))
->getQuery()
->getResult();
请求正在执行而没有错误,但更新不是。 此请求必须在字段“valide”中放置1个。 表中的某些项与3 where子句匹配。
有什么问题?
感谢您的帮助
答案 0 :(得分:1)
您的查询构建器使用情况绝对错误。我相信你在存储库中运行此代码?然后你的代码应该是这样的:
$this->createQueryBuilder('l')
->update() // Forgotten update() method
->set('l.valide', true)
->andWhere('l.artiste=:artiste')
->andWhere('l.client=:client')
->andWhere('l.annonce=:annonce')
->setParameters(
array(
':artiste' => $artiste,
':client' => $client,
':annonce' => $annonce
))
->getQuery()
->execute(); // Execute, "not getResult". It's not a SELECT query.