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

PhpNullDoctrineDql

Php Problem Overview


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.

Php Solutions


Solution 1 - Php

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

where('a.vertical_id is NULL');

Solution 2 - Php

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMr BView Question on Stackoverflow
Solution 1 - PhpJohannesView Answer on Stackoverflow
Solution 2 - PhpJohn Carlos Espitia RiveraView Answer on Stackoverflow