【发布时间】:2015-10-16 10:43:41
【问题描述】:
我正在开发一个分为 3 个实体的 Messenger 系统
- 对话,带有对话的名称
- 参与者,对话和用户之间的多对多关系,其中参与者可以是所有者、版主或简单用户
- 消息,由对话中的参与者发送
我希望找到与用户 A 和 B 的对话,他们都是对话的参与者。知道怎么做吗? 感谢阅读:)
【问题讨论】:
-
您是否尝试过使用joins?你能告诉我们你到目前为止尝试了什么吗?
-
其实我什么都没做,我正在考虑。我最好的主意是使用 Exist 关键字。我读过你可以使用 EXIST 来使用多个 WHERE。但我在教义中使用它失败了。
-
我终于想出了如何使用 SQL 来解决这个问题。现在,我必须使用 DQL 让它工作。
SELECT * FROM conversation WHERE EXISTS( SELECT * FROM participant WHERE participant.user_id = 3 ) AND EXISTS( SELECT * FROM participant WHERE participant.user_id = 4 )
标签: php database symfony dql query-builder