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

2022-08-30 08:11:44

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

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

感谢您的帮助。

希德。


答案 1

我将教义与symfony一起使用,这就是我的工作方式:

where('a.vertical_id is NULL');


答案 2

如果您使用的是 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


推荐