如何在Doctrine查询中指定空值作为过滤器?


79

我在Zend中使用Doctrine 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);

我在规则集表中有3条记录,在vertical_id列中具有NULL值,但查询未找到这些记录。

感谢帮助。

席德

Answers:


165

我将教义与symfony结合使用,这是我的工作方式:

where('a.vertical_id is NULL');


7
太不可思议了……您必须对NULL设置上限,花了我一个小时才能找到错误……谢谢。应该先用Google搜索stackoverflow。
马特·韦兰德

6
相反,是where('a.vertical_id is not NULL');
Gigala

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.