我在Symfony2 / Doctrine2中开发了一个问题/答案模块(很像StackOverflow但是另一个主题)。
我只想找回所有没有答案的问题。我有两个表,问题和答案(谁有问题_id)。我怎么能在DQL / Doctrine中做到这一点?
问题
-id
-author
-date
-content
-...
ANSWER
-id
-author
-date
-content
- 的 question_id
任何帮助欣赏!
由于
答案 0 :(得分:1)
你提到左边加入""小技巧是正确的答案,除非您正在测试错误的列 - 您需要检查答案是否为空:
select q.*
from question q
left join answer a on a.question_id = q.id
where a.question_id is null
实际上你可以测试左连接表中的任何列是否为null(因为如果连接失败,它们都将为null),但我倾向于检查我加入的同一列,因此优化器必须处理尽可能少的列。