2011-10-02 27 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筆記。

對於狀態更新的查詢,你基本上有兩種選擇:

  • 投票,你的客戶會定期輪詢新更新
  • 推,你的後臺會通知你的客戶端後臺新的更新

第二個選項被認爲是類似的原因一個更好的辦法,因爲這些:

  • 它可以異步執行
  • 它避免了不必要的調用到後端的情況下,有沒有新的數據
相關問題