Answers
这个是数据库方面的设计,比如问题表(question)中的字段有:id(编号), title(问题名称), content(问题内容), tips(关键词), follower(关注者)等等。follower字段中的数据存储,可以是各种的格式,只要把每个用户的userid隔开就行,比如这样存储:
1,3,5,8,12
,表示userid为1, 3, 5, 8, 12的用户有在关注这个问题,若用户取消关注时,再把这个userid去掉;好像这样存储不是很好删哈,那换成这样存储呢:
[1, 2, 3, 4]
,把数据当做一个数组进行存储。
还有回答列表(answer),这个列表中的外键是问题表中的id。
还有用户表(user),每个用户有一个
notice
的字段,这个字段可以是个int类型的,默认是0,当有一个通知时就+1。
当问题的描述发生了更新,或者有人回答了这个问题,那么查询问题表(question)的follower字段中所有的用户id,查出后,再按照用户id更新用户表(user)中的notice字段。下次当用户登录时,就查询这个
notice
字段是否为0,若为0表示没有通知,否则就显示通知的个数。
当然,实际中的数据库设计肯定更加的复杂,我这儿只是简单的说下原理而已。
阿道夫·希特勒
answered 10 years, 4 months ago