我正在与多个用户进行聊天,我有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
的对话完全不同女巫的逻辑是将用户与表
conversations_users
进行精确比较,并获得对话的唯一性?编辑:
它的工作方式类似于Facebook聊天,在这里我可以与3个或4个不同的人开始聊天,或者与2个或其他任何人开始聊天,没有设置“聊天室”,用户发送第一个消息后便会创建一个聊天,因此,我需要检查该用户是否已经与其他用户进行了对话,而没有对话ID
最佳答案
您根本不需要conversation_users
。只需具有conversations
和conversation_messages
即可存储消息,发布消息的用户以及发布消息的对话。