我正在与多个用户进行聊天,我有3个不同的表conversationsconversations_usersmessages

会话表:

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的对话完全不同

女巫的逻辑是将用户与表conversations_users进行精确比较,并获得对话的唯一性?

编辑:
它的工作方式类似于Facebook聊天,在这里我可以与3个或4个不同的人开始聊天,或者与2个或其他任何人开始聊天,没有设置“聊天室”,用户发送第一个消息后便会创建一个聊天,因此,我需要检查该用户是否已经与其他用户进行了对话,而没有对话ID

最佳答案

您根本不需要conversation_users。只需具有conversationsconversation_messages即可存储消息,发布消息的用户以及发布消息的对话。

10-07 19:38
查看更多