我正在构建表格以在我的 OA 系统中创建一个对话框外观的用户消息功能。
我得到了一个表格,指示像这样的 dialog_user 对话的参与者:
dialog user
1 1
1 2
2 1
2 3
现在用户 1 向用户 2 发送消息。所以我需要创建一条消息,并将消息插入到用户 1 和用户 2 参与的对话框中。
如何在一个或有限的查询中找到对话 ID?
此外,我还在实现一对多的消息发送功能。每个接收者都会在他和发送者参与的对话中看到消息。所以我需要找到发送者和每个接收者参与的所有对话,并将新的消息 ID 插入其中。这可以在一个漂亮的查询中完成吗?
我考虑过保存参与者内爆排序的字符串,例如
dialog users
1 1,2
1 1,3
但我认为这不是一个好习惯,因为用户字段应该是 varchar 并且长度有限(比如 255)。
有人对此有任何想法吗?