我将 FormType 用于我的实体,并设置了entity field。
我需要在Where
中使用两个And
子句,从我在the Query Builder page上阅读的内容来看,至少这是我应该做的事情:
'query_builder' => function ($er){
$qb = $er->createQueryBuilder('p');
$qb
->where($qb->expr()->andx(
$qb->expr()->in('p', '?1'),
$qb->expr()->not(
$qb->expr()->eq('p.location', 'NULL')
)
))
->setParameter(1, $this->totalScope)
;
return $qb;
},
但是,
not(eq('col', 'NULL'))
达不到预期的结果,实际上,存在以下错误:最佳答案
您可以使用 isNotNull
:
'query_builder' => function ($er){
$qb = $er->createQueryBuilder('p');
$qb
->where($qb->expr()->andx(
$qb->expr()->in('p', '?1'),
$qb->expr()->isNotNull('p.location')
))
->setParameter(1, $this->totalScope);
return $qb;
},
关于symfony - Symfony2学说Expr 'IS NOT NULL',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15773662/