从 2 个独立的表在数据库中创建聊天表

问题描述 投票:0回答:1

我的数据库中有两个表:“customers”和“store_owners”。这些表具有多对多关系。我想在“store_owner”与其客户之间创建聊天功能。但是,当我在数据库中创建“聊天”表时遇到了问题。该表包括“IdSender”、“IdReceiver”和“message”。 “IdSender”和“IdReceiver”都是前面提到的表中的外键。然而,在同一次对话中,顾客既可以是发送者,也可以是接收者,这同样适用于店主。我应该怎么办?请注意,“customers”和“store_owners”表必须保持独立。我正在使用 React Native 和 Laravel。

我尝试为同一个ID创建两个外键,但正如预期的那样,它不起作用。

laravel database react-native foreign-keys chat
1个回答
0
投票

在您描述的结构中,没有唯一的发送者和接收者,因为这将是单向聊天,而只有聊天、聊天成员和消息。

因此,创建一个聊天表,创建一个 chat_members (chat_id, user_id) 数据透视表,将聊天链接到聊天中的用户数量。还有一个 chat_messages (chat_id, sender_id, message) 表。每当消息发送到聊天室时,该聊天室的所有成员都应该收到该消息。

© www.soinside.com 2019 - 2024. All rights reserved.