如何显示被跟踪用户的状态更新? (MVC)

时间:2011-10-02 06:24:26

标签: database codeigniter many-to-many server-push

在仪表板上显示的好方法是什么,在MVC框架(例如codeigniter)上被跟踪的用户(例如twitter)的状态更新。

我有一个表,仅用于状态更新,我记录ID,user_id&消息。

我是否应该通过在用户选择关注某人时记录用户ID来创建一个数据库表来记录谁在关注谁?

如果是这样,我将如何向数据库发出查询,仅为跟随的用户请求状态更新?

1 个答案:

答案 0 :(得分:0)

这是典型的“多对多”关系,因此您需要一个表来存储此关系。该表将简单地包含两个用户id,一个用于跟随者,一个用于跟随的一个。例如:

Followed_Id (BIGINT) | Follower_Id (BIGINT)

这些列都有一个外键,引用用户表的ID列。

CI中有一些ORM工具,例如他的评论中的swatkins笔记。

要查询状态更新,您基本上有两个选项:

  • 轮询,您的客户将定期轮询后端以获取新的更新
  • 推送,您的后端将通知您的客户新的更新

对于像这样的问题,第二种选择被认为是更好的方法,因为:

  • 可以异步实现
  • 如果没有新数据,它可以避免对后端进行不必要的调用