gpt4 book ai didi

php - 当 friend 在 PHP/MySQL 应用程序中忽略某人时,我应该如何处理?

转载 作者:行者123 更新时间:2023-11-29 04:13:46 24 4
gpt4 key购买 nike

我有一个像friends(friendship_id, fid1, fid2, ENUM('pending', 'accepted', 'ignored')这样的表。当用户忽略某人的 friend 请求时,我想确保他们不会收到“您已被忽略!”的消息,但我也希望记录该数据。关于如何处理此问题有什么建议吗?

最佳答案

显然,您应该做的第一件事是不要执行任何会显示 You been ignored! 消息的代码。这可以解决您的大部分问题。

但是你必须要小心一点。还有一个更微妙的问题——从发件人的角度来看,您的系统应该以各种方式表现得好像用户没有单击忽略一样。这意味着,如果发件人发出第二个请求,并且通常您的系统会显示“您已经向该用户发送了一个请求”,那么即使在收件人忽略了第一个请求之后,它也应该继续显示此消息。您需要注意不要通过更改消息来响应本应保密的事件而泄露信息。


评论回复:

Do you think it's best to not even send a "You have already sent a request to this user" message in the first place?

我认为这有点超出了这个问题的范围,而且这本身就是一个很长的讨论,所以我只会在这里谈一谈。答案取决于您的应用程序是如何实现的。简短的回答是:您的应用程序应该帮助您的用户并且直观,所以如果消息对他们有帮助,那么添加它。

另一种方法是,如果没有回复,请求将在一周后自动过期。当前请求过期后,您可以允许用户发出新请求。您可能需要考虑忽略请求是否意味着只忽略该用户的一个请求或所有请求。

I've not really considered how you would distinguish who's ignoring who under my current schema.

交友请求是定向关系。你有一个发送者和一个接收者。另一方面,友谊通常(但不总是)被视为无向关系。交友请求通常会有一条与之关联的消息“嘿,还记得我吗?我们昨晚在酒吧见过面!”。另一方面,已建立的友谊通常没有与之关联的消息。因此,将这些不同类型的关系存储在数据库中的不同表中可能是有意义的。

关于php - 当 friend 在 PHP/MySQL 应用程序中忽略某人时,我应该如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3268598/

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