使用条令将布尔值设置为1


Set boolean to 1 with 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子句匹配。

怎么了?

感谢的帮助

您的查询生成器使用完全错误。我相信您在存储库中运行了此代码?那么你的代码应该是这样的:

$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.