在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)
求助,给我dql请为这个IF()我认为这样的逻辑
IF (confition and confition, (return if true), (return if false))
示例返回true或false
或者如何为queryBuilder解释这个?
1 回答
我不记得DQL是否支持
if
..我认为没有 .您可以改用
case when ... then ... else ... end
.为什么在where子句中需要
if
?您可以在不使用if
的情况下使用此表达式 . 只有t.work_type = 'contract' AND te.status != 2
没有if
将返回与if
相同的结果(true/false
) .