83

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

我在规则集表中有三个记录,它们在 vertical_id 列中有一个NULL值,但查询没有找到这些。

感谢帮助。

席德。

4

2 回答 2

173

我将教义与 symfony 一起使用,这就是我的做法:

where('a.vertical_id is NULL');

于 2011-03-01T12:20:13.253 回答
17

如果您使用的是 Symfony 2 及更高版本,则可以使用以下代码:

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

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

于 2018-02-10T21:24:32.343 回答