gpt4 book ai didi

php - 用户消息系统

转载 作者:行者123 更新时间:2023-11-29 01:46:52 25 4
gpt4 key购买 nike

我正在考虑创建一个用户消息传递系统(类似于 Facebook)。

我想知道的本质上是表结构应该是什么样子的?我的要求如下:

  • 消息在用​​户之间交换 - 发件人可以选择向多个用户发送消息。

  • 消息以线程式布局显示,作为 1-1 对话。即每个收件人的回复将出现在其自己的线程中。

  • 不能删除单个消息,但是可以删除线程。删除线程不会删除任何消息,它只会从用户的收件箱中删除该线程。但是,如果其他用户尚未从他/她的收件箱中删除该线程,他/她仍然可以访问该线程。

这是我目前拥有的:

Table messages==============id (PK)user_id (from)subjectbodysent_atTable message_recipients========================message_id (PK)user_id (PK)read_status

编辑:以下情况如何:

Table messages==============id (PK)thread_id   user_id (from)bodysent_atTable threads=============id (PK)user_id (from)subjectTable thread_recipients=======================thread_id (PK)user_id (PK)read_statussender_deletedrecipient_deleted

最佳答案

我建议至少具备以下条件:

用户、线程、消息

  • 所有消息都会有一个线程
    • 外键:thread_id
  • 所有线程至少有一条消息和至少一个收件人(以及发件人)
    • 外键:to_user_id、from_user_id、message_id

从那里你可以简单地为你的线程分配几个标志(to_user_deleted,from_user_deleted),这些标志将相应地更新。

当然还有很多事情要考虑,比如你想考虑什么样的事情。例如:

  • 你想显示当前消息而不是开始消息吗?
  • 您要允许用户将个别消息标记为已读,还是仅标记为 session ?

在设计数据库时,您需要考虑所有这些因素。

关于php - 用户消息系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4739810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com