有了这个提示它完美无缺,但现在我有另一个问题
我想设置一个'andWhere'clausel,并带有以下声明: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子句。还有其他选择可以将其添加到哪里吗?
答案 0 :(得分:0)
之间应该像这样使用:
$queryBuilder->andWhere(sprintf(%s.columnA between :value1 and :value2), $queryBuilder->getRootAlias()[0]);
如果你想测试值351在columnA和columnB中,你应该在它是ID的集合时进行IN。