【问题标题】:Apply multiples conditions with Doctrine Query Language使用 Doctrine Query Language 应用多个条件
【发布时间】:2019-12-09 08:31:02
【问题描述】:

在我的数据库中,我有一列“拒绝”,她可以有 0 或 1 或 NULL 值。

我只想获取具有 0 和 NULL 值的行。

我试过这个:

->andWhere('b.refused IS NULL')

没关系,但是如果我也想获得 0 值,那是行不通的:

->andWhere('b.refused = 0')

任何人都知道如何做到这一点或如何不得到任何有“1”的行?

谢谢。

【问题讨论】:

  • 您不需要 AND。它是 OR 因为你想要 NULL 0。b.refused != 1 也应该可以工作。

标签: php symfony doctrine dql doctrine-query


【解决方案1】:

您必须只获得 0 OR NULL 值,否则您可能会获得所有不等于 1 的元素:

->where($qb->expr()->isNull('b.refused'));
->orWhere('b.refused = 0')

【讨论】:

  • 我对“IS”有一些错误:>“[Syntax Error] line 0, col 317: Error: Expected =, , >, >=, !=,得到'IS'”
  • 我试过 "=" 但出现新错误:> 错误:预期文字,得到 'NULL'
  • 我编辑了我的答案,请务必将 $qb 替换为您的查询生成器变量
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-09
相关资源
最近更新 更多