Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to specify null value as filter in a Doctrine query?

I am using Doctrine 1.1 in Zend. I am trying to write a query that will return records that have a null value in a certain column.

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

I have three records in the ruleset table which have a NULL value in the vertical_id column yet the query doest not find these.

Appreciate the help.

Sid.

like image 251
Mr B Avatar asked Mar 01 '11 12:03

Mr B


2 Answers

I use doctrine with symfony, and this is how I do:

where('a.vertical_id is NULL');

like image 188
Johannes Avatar answered Sep 30 '22 16:09

Johannes


If you are using Symfony 2 and above, you can use this code:

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

Reference:
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html#the-expr-class

like image 24
John Carlos Espitia Rivera Avatar answered Sep 30 '22 17:09

John Carlos Espitia Rivera