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

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

我的数据库中有两个表('customers','store_owners'),它们之间的关系是多对多,我想在'store_owner'和他的客户之间进行聊天,但问题是当我做了一个在我的数据库中的聊天表中,我给了它 Idsender 、 idReciever 和 message ,这两个 id 是我之前提到的表中的外键,但是客户可以是同一讨论中的发送者和接收者,对于 store_owner 来说也是如此,那又怎样呢?我应该做什么? ,任何帮助 注意: ('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.