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

发布于 2024-10-19 20:49:57 字数 393 浏览 2 评论 0原文

我在 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 值,但查询找不到这些记录。

感谢您的帮助。

席德.

I am using Doctrine 1.1 in Zend. I am trying to write a query that will return records that have a null value in a certain column.

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

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

I have three records in the ruleset table which have a NULL value in the vertical_id column yet the query doest not find these.

Appreciate the help.

Sid.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吃颗糖壮壮胆 2024-10-26 20:49:57

我将主义与 symfony 结合使用,这就是我的做法:

where('a.vertical_id is NULL');

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

where('a.vertical_id is NULL');

难如初 2024-10-26 20:49:57

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文