2011-10-02 38 views
1

什么是在仪表板上显示的好方法,来自用户的状态更新(例如twitter)在MVC框架(如codeigniter)上执行。如何显示关注用户的状态更新? (MVC)

我有一个表,只是为了状态更新,在那里我记录了ID,user_id &消息。

我应该创建一个数据库表,在那里我记录了谁在跟踪谁,通过在用户选择关注某人时记录用户ID?

如果是这样,我将如何查询数据库来请求仅针对后续用户进行状态更新?

+0

嗯,是的,必须有知道谁是谁下的方式。所以,你必须有一个连接表(类似于:'followers_users')来存储用户的ID和那个用户的ID。然后,你必须写一个'join'查询。对于这种类型的东西,您可能会考虑使用ORM像doctrine(http://www.doctrine-project.org/)或datamapper orm(http://datamapper.wanwizard.eu/)。 – swatkins

回答

0

这是一个典型的多对多关系,所以您需要一张表来存储这个关系。该表只会包含两个用户标识,一个用于追随者,另一个用于追随者。例如:

Followed_Id (BIGINT) | Follower_Id (BIGINT) 

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

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

对于状态更新的查询,你基本上有两种选择:

  • 投票,你的客户会定期轮询新更新
  • 推,你的后台会通知你的客户端后台新的更新

第二个选项被认为是类似的原因一个更好的办法,因为这些:

  • 它可以异步执行
  • 它避免了不必要的调用到后端的情况下,有没有新的数据
相关问题