假设我有一个SQL查询:
SELECT phone_id, name
FROM calls c WHERE (c.user_id = 2241
AND c.phone_id IN ("Google Pixel","Samsung")
AND (c.name IN ("Alex","John")) OR c.name IS NULL) IS TRUE)
哪个工作正常:IS TRUE
语句将(c.name IN ("Alex","John")) OR c.name IS NULL)
表达式计算为单个表达式。
但问题是 Doctrine 不支持IS TRUE
语句,此类查询会导致错误。
我如何使用 Doctrine 实现相同的功能,但显然 避免
IS TRUE
声明?
这太长了,无法发表评论。
is true
的目的是什么?
为什么不直接这样编写查询?
SELECT phone_id, name
FROM calls c
WHERE c.user_id = 2241 AND
c.phone_id IN ('Google Pixel', 'Samsung') AND
(c.name IN ('Alex', 'John') OR c.name IS NULL)