语法错误:第0行,第81列:错误:预期文字,得到'NULL'

Vic*_*sky 6 query-builder symfony doctrine-orm

[Syntax Error] line 0, col 81: Error: Expected Literal, got 'NULL'当我尝试通过查询构建器执行查询时出错

        $qb = $this->createQueryBuilder('r')
            ->select('r')
            ->where('r.query = :query')
            ->setParameter('query', $query)   
            ->andWhere('r.lang = NULL')
        ;

        return $qb->getQuery()->getOneOrNullResult();
Run Code Online (Sandbox Code Playgroud)

r.lang 字段定义为:

/**
 * @var integer
 *
 * @ORM\ManyToOne(targetEntity="\BW\LocalizationBundle\Entity\Lang")
 * @ORM\JoinColumn(name="lang_id", referencedColumnName="id")
 */
private $lang;
Run Code Online (Sandbox Code Playgroud)

请帮忙解决错误

Ale*_*kov 15

当您检查NULL值时,表达式应为

->andWhere('r.lang IS NULL')
Run Code Online (Sandbox Code Playgroud)