Regex with doctrine "Error: Invalid PathExpression. Must be a StateFieldPathExpression."

Regex with doctrine "Error: Invalid PathExpression. Must be a StateFieldPathExpression."

我有一个包含 "Open|Close" 的 $value 变量。我想在 Symfony 中使用学说查询来获取所有 "status" 和单词 "Open" 或 "Close"。为此,我尝试使用正则表达式。但是,我收到以下错误:

[Semantical Error] line 0, col 75 near 'status, :regexp)': Error:
Invalid PathExpression. Must be a StateFieldPathExpression.

这是我的代码:

$qb = $this->createQueryBuilder('q')
->andWhere('REGEXP(q.status, :regexp) = true')
->setParameter('regexp', '|');

我有 DoctrineExtensionsBundle 并且我已经更新了我的 app/config.yml

使用 explode() 函数和 SQL IN 运算符怎么样?

$qb = $this->createQueryBuilder('q')
  ->andWhere('q.status IN (:status)')
  ->setParameter(':status', explode('|', $value));

它将 return 所有在状态栏中具有 "Open" 或 "Close" 的记录。