如何在Doctrine查询中将null值指定为过滤器?

时间:2011-03-01 12:16:02

标签: php null doctrine dql

我在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);

我在ruleset表中有三条记录,它们在vertical_id列中有 NULL 值,但查询找不到这些记录。

感谢帮助。

西特。

2 个答案:

答案 0 :(得分:144)

我在symfony中使用doctrine,这就是我的工作方式:

where('a.vertical_id is NULL');

答案 1 :(得分:6)

使用此代码:

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

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