gpt4 book ai didi

php - 类似对话的消息系统

转载 作者:行者123 更新时间:2023-11-29 08:18:55 27 4
gpt4 key购买 nike

我构建了类似于 Facebook 消息的消息系统。对话是在一个 mysql 表中进行的,因此我有 receiverId、senderId、messageContent ...我的问题是,我想实现“删除消息”功能,但我不知道如何实现,所以如果该对话的一个成员删除了所有消息,其他成员仍然应该看到所有消息,直到其他成员删除这些消息还有消息。

所以我的方法(显然是错误的)是添加额外的列:deletedByReceiver和deletedBySender,这对于接收者来说没问题,但是如果发件人打开这些​​消息,那么他只能看到他发送的消息,因为我的查询说:select *来自收件箱,其中deletedByReceiver!= 1

所以我不要求代码,我要求如何解决这个问题

最佳答案

如果我理解问题正确的话,你只需要将两组条件“或”在一起即可。如果我是发件人且deleteBySender != 1,则需要包含该消息或者我是接收者并且 deleteByReceiver!=1 .

所以类似:

SELECT * FROM inbox 
WHERE
(senderId = <MYID> AND deleteBySender!=1) OR
(receiverID = <MYID> and deleteByReceiver!=1)

当然,<MYID>被查看者的用户 ID 替换。

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

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