使用doctrine将boolean设置为1

时间:2014-10-19 13:25:54

标签: php mysql symfony doctrine-orm

我遇到一些非常简单的请求,我试图使用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子句匹配。

有什么问题?

感谢您的帮助

1 个答案:

答案 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.