如何在 Doctrine 查询中指定空值作为筛选器?

我正在 Zend 使用原则1.1。我正在尝试编写一个查询,它将返回在某一列中具有空值的记录。

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


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

我在规则集表中有三条记录,它们在竖直 _ id 列中有一个 无效值,但是查询没有找到这些记录。

谢谢你的帮助。

希德。

94282 次浏览

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

where('a.vertical_id is NULL');

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