我与多个用户建立了一种聊天,我有3个不同的表conversations
和conversations_users
,messages
对话表:
id | founder_id | created_time
对话用户表:
id | user_id | conversation_id
讯息表
id | conversation_id | user_id | message
我们可以说,在与ID 1的对话中,有3个人可以聊天,与ID 2聊天,2个人也是
user_id | conversation_id
1 1
2 1
4 1
3 2
4 2
但问题是,我想检查用户1,2,3,4
之间的对话是否存在,然后再执行任何操作,并将消息指向正确的对话。
但很明显,与用户1,2,3,4
的对话与用户3,4
的对话完全不同
Witch是将用户与表conversations_users
完全比较并获得该对话唯一性的逻辑吗?
修改 它的工作方式类似于facebook的聊天,在那里我可以与3或4个不同的人开始对话,或者只有2个或者其他什么,没有"房间"已经设置,用户将在发送第一条消息后创建对话,因此我需要检查该用户是否已经与其他用户进行了对话而没有对话ID
答案 0 :(得分:0)
您根本不需要conversation_users
。只需拥有存储邮件的conversations
和conversation_messages
,发布邮件的用户以及发布邮件的对话。