Как указать нулевое значение в качестве фильтра в запросе Doctrine? - PullRequest
70 голосов
/ 01 марта 2011

Я использую Doctrine 1.1 в Zend. Я пытаюсь написать запрос, который будет возвращать записи с нулевым значением в определенном столбце.

    $q = Doctrine_Query::create()
    ->select('a.*')
    ->from('RuleSet a')
    ->where('a.vertical_id = ?', null);

    $ruleset_names_result = $q->execute(array(), Doctrine::HYDRATE_ARRAY);

У меня есть три записи в таблице наборов правил, которые имеют значение NULL в столбце vertical_id, но запрос не находит их.

Ценю помощь.

Sid.

Ответы [ 2 ]

147 голосов
/ 01 марта 2011

Я использую учение с Symfony, и вот как я делаю:

where('a.vertical_id is NULL');

6 голосов
/ 11 февраля 2018

Используйте этот код:

->where($qb->expr()->isNull('a.vertical_id'));

Ссылка:
http://docs.doctrine -project.org / projects / doctrine-orm / en / latest / reference / query-builder.html #заместитель выраж-класс

...