regularnie natknąć się na scenariuszu, gdzie chcę zapytać podmiotu o określonej wartości:Czy istnieje prosty sposób łączenia wartości IS NULL i =: value w Doctrine 2 DQL?
$query = $em->createQuery('SELECT e FROM Entity e WHERE e.parent = :parent');
$query->setParameter('parent', $parent);
Często wartość ta może być null, ale WHERE e.parent = NULL
przynosi żadnych rezultatów, zmuszając mnie do włamywania się jak to:
if ($parent === null) {
$query = $em->createQuery('SELECT e FROM Entity e WHERE e.parent = IS NULL');
}
else {
$query = $em->createQuery('SELECT e FROM Entity e WHERE e.parent = :parent');
$query->setParameter('parent', $parent);
}
Choć rozumiem powody uzasadniające NULL != NULL
w SQL/DQL, faktem jest, czego konsekwencją jest naprawdę irytujące w tej sprawie.
Czy istnieje dokładniejszy sposób wykonania tego zapytania, gdy parametr może mieć wartość NULL?
Czy moja odpowiedź jest nieprawidłowa? – ThaDafinser