2012-04-23 87 views
1

我正在使用cakephp2。我有兩個問題CakePHP存儲counterCache在單獨的表中計數

  1. 我想不同的緩存計數存儲在一個單獨的。例如: - 用戶可以創建組,論壇等,我想存儲的數量,而不是每次查詢。所以我使用了cakephp的counterCache特性。是否有可能將所有這些計數存儲在一個單獨的表中,並且當用戶創建組/論壇等時,應該更新該表中的相應計數?

  2. 我需要以這種方式更新組的counterCache計數,以便在用戶創建組時以及用戶在任何組中加入時自動增加計數。 cakephp有可能嗎?

回答

1

沒有,counterCache()沒有想到像你這樣更復雜的要求工作,它是,在框架的任何特徵,認爲覆蓋最常見的情況。你的並不是每天的要求。 ;)

在模型中使用afterSave()回調,並在其中添加自定義邏輯,並根據需要將計數保存到相關模型中。但總體而言,我不認爲有理由添加單個表來存儲計數?我在這個架構中看不到任何好處。

+0

感謝您的回覆..原因是,我創建了社交網絡類應用程序,當用戶看到其他用戶配置文件時,我需要顯示計數(例如: - 羣,朋友等超過10個)我想將所有這些計數與用戶ID放在另一個表中,而不是存儲在用戶表中。 – binoy 2012-04-23 11:48:39

+0

那麼,組用戶通常通過連接表建立並具有HABTM關聯。因此GroupsUser連接模型可以屬於組,並使用常規counterCache並將值存儲在組表中。您的設計需要您額外加入。 – burzum 2012-04-24 00:54:01

+0

我的意思是我想將所有計數存儲在一個單獨的表中。例如: - 包含列group_count,friend_count,album_count等的user_counts表。 – binoy 2012-04-24 05:40:30

相關問題