我在处理条令时遇到了一个非常简单的请求:
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子句匹配。
怎么了?
感谢的帮助
您的查询生成器使用完全错误。我相信您在存储库中运行了此代码?那么你的代码应该是这样的:
$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.