0

有了这个提示,它可以完美运行,但是现在我还有另一个问题

我想使用以下语句设置一个“andWhere”子句:AND 351 between columnA and columnB

我使用以下 PHP 代码进行了尝试:

$rootAlias = $queryBuilder->getRootAlias()[0];
$queryBuilder->andWhere(sprintf(:value between columnA and columnB ));
$queryBuilder->setParameter('value', '351');
But if I try this, I get the following error from doctrine:

[Syntax Error] line 0, col 52: Error: Expected =, <, <=, <>, >, >=, !=, got 'between'

似乎不可能添加这个 where 子句。还有其他选择可以在哪里添加吗?

4

1 回答 1

0

之间应该像这样使用:

$queryBuilder->andWhere(sprintf(%s.columnA between :value1 and :value2), $queryBuilder->getRootAlias()[0]);

如果要测试值 351 是否在 columnA 和 columnB 中,如果它是 ID 的集合,则应该执行 IN。

于 2017-07-21T09:33:42.457 回答