Używam FormType dla Entity of mine i ustawienie entity field. muszę dwa WHERE w I, iz tego co czytałem na the Query Builder page, to przynajmniej jak ja powinien zabrać:Symfony2 Doctrine Expr 'IS NOT NULL'
'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;
},
Jednak not(eq('col', 'NULL'))
nie osiągnąć pożądany rezultat (i faktycznie, błędy z "Error: Oczekiwane dosłowne, dostał 'null'"
Dla osób, które znają SQL, może to być subiektywnie ** mniej brzydkie **, ALE jest również ** mniej przenośne **, podczas gdy wyrażenia-sposób całkowicie usuwają warstwę bazy danych. Osobiście zawsze używam wyrażeń. –
@MarcelBurkhard Metoda isNotNull: 'public function isNotNull ($ x) {return $ x. "IS NOT NULL"; } ' – keyboardSmasher
Ponadto' IS NOT NULL' to DQL ** nie ** SQL, co czyni go ** równie przenośnym **, ale także ** mniej brzydkim **. :) – keyboardSmasher