I'm using the FormType for an Entity of mine, and setting up an entity field. I need two Where clauses in an And, and from what I've read on the Query Builder page, this is at least how I should go about it:
'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;
},
However, the not(eq('col', 'NULL'))
doesn't achieve the desired result(and in fact, errors with "Error: Expected Literal, got 'NULL'"
You can use
isNotNull
:You can also use DQL in your queryBuilder, which is much less ugly IMO.
Quick and dirty example from a controller:
Easier to read in my estimation.