欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP消息提醒数据表

程序员文章站 2022-06-04 20:58:55
...
请问如何设计站内消息提示功能,比如segmentfault这样的功能,我发布一个问题,有人回答以后,我会收到一个未读消息数目提醒,数据表怎么设计比较合适?

回复内容:

请问如何设计站内消息提示功能,比如segmentfault这样的功能,我发布一个问题,有人回答以后,我会收到一个未读消息数目提醒,数据表怎么设计比较合适?

PHP消息提醒数据表

PHP消息提醒数据表

notice_code是在代码中定义的,同时也定义的通知信息的模板

public static $notice_type = [
        'answer'          => [
            'is_agreed'       => [500, '[who] 赞了你的回答!'],
            'is_modified'     => [501, '[who] 修改了你的回答!'],
            'is_fold'         => [502, '[who] 折叠了你的回答!'],
            'has_new_comment' => [503, '[who] 评论了你的回答!'],
        ],
    ];

比如图中的503是代表评论通知,某人评论了某个回答,需要的参数就是:谁

通知列表中,先判断通知代码是什么,找到对应的模板,根据相应参数,转换里面的变量[who]

刚才考虑一下,有一个初步的方案,请大家喷:
主要有2个表:
question:问题信息的表
id(autoincrement) user_id(发表问题的用户ID) question_id(问题ID(系统内唯一)) question_desc(问题表述) like_user_list(赞的用户列表,user_id使用‘,’进行分割)
reply:
id(autoincrement) user_id(对问题进行回答的用户ID) question_id(与question中的question_id为外键)reply_content(评论内容) like_user_list(赞的用户列表,user_id使用‘,’进行分割) unlike_user_list(反对的用户的ID list)
具体操作如下:
1、用户发布一个问题的时候,向question中插入一条记录;
2、别人对用户的这个问题进行评论的时候,向reply中插入一条记录
3、别人认为这个问题很好,对这个问题或者回复进行点赞,追加对应的like_user_list
需要进一步完善的地方:
(1)、对评论者的回复的记录

数据库表怎么设计我就不多说了 我想说的是提醒类的并不适合存表 一般考虑走缓存 不可能我每刷新一次都去表里count一遍 这种数据直接走缓存更高效

相关标签: php 消息提醒