【问题标题】:symfony doctrine custom dqlsymfony 学说自定义 dql
【发布时间】:2017-03-24 08:59:06
【问题描述】:

在 sql 中我有这个

AND oir.id IS NULL
AND IF(t.work_type = 'contract' AND te.status != 2, FALSE, TRUE)    

我不知道如何更正为此创建自定义 DQL

IF(t.work_type = 'contract' AND te.status != 2, FALSE, TRUE)    

帮助,请给我这个 IF () 的 dql 我认为这样的逻辑

IF (confition and confition, (return if true), (return if false))

示例返回真或假

或者如何解释这个 queryBuilder ?

【问题讨论】:

    标签: php symfony doctrine-orm query-builder dql


    【解决方案1】:

    我不记得 DQL 是否支持 if.. 我认为不支持。
    您可以改用case when ... then ... else ... end

    AND oir.id IS NULL
    AND (CASE WHEN t.work_type = 'contract' AND te.status != 2 THEN FALSE ELSE TRUE END) = TRUE
    

    为什么在 where 子句中需要if?您可以在不使用if 的情况下使用此表达式。没有ift.work_type = 'contract' AND te.status != 2 将返回与if 相同的结果(true/false)。

    【讨论】:

      猜你喜欢
      • 2014-09-08
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多