如何显示关注用户的状态更新? (MVC)
Posted
技术标签:
【中文标题】如何显示关注用户的状态更新? (MVC)【英文标题】:How to display status updates from followed users? (MVC) 【发布时间】:2011-10-02 06:24:25 【问题描述】:在仪表板上显示来自被关注的用户(例如 twitter)的状态更新在诸如 codeigniter 之类的 MVC 框架上的好方法是什么。
我有一个表格,只是用于状态更新,我在其中记录了 ID、user_id 和消息。
我是否应该通过在用户选择关注某人时记录用户 ID 创建一个数据库表来记录谁在关注谁?
如果是这样,我将如何查询数据库以请求仅为关注的用户更新状态?
【问题讨论】:
嗯,是的,必须有一种方法可以知道谁在关注谁。因此,您必须有一个连接表(例如:followers_users') that stores the ID of the user and those following that user. Then, you'd have to write a
join` 查询。您可能会考虑使用类似 ORM 的学说(doctrine-project.org)或 datamapper orm(datamapper.wanwizard.eu)来处理这类事情。
【参考方案1】:
这是典型的多对多关系,因此您需要一个表来存储此关系。该表将仅包含两个用户 ID,一个用于关注者,一个用于被关注者。例如:
Followed_Id (BIGINT) | Follower_Id (BIGINT)
这些列都会有一个外键,引用用户表的 ID 列。
有一些用于 CI 的 ORM 工具,比如他评论中的 swatkins 笔记。
对于状态更新的查询,基本上有两种选择:
轮询,您的客户端会定期轮询后端以获取新更新 推送,您的后端会将新的更新通知您的客户第二个选项被认为是解决此类问题的更好方法,因为:
可以异步实现 避免在没有新数据的情况下对后端进行不必要的调用【讨论】:
以上是关于如何显示关注用户的状态更新? (MVC)的主要内容,如果未能解决你的问题,请参考以下文章