假设存在User
和Community
表
Community由User创建,user_id。
社区也有一些喜欢社区的用户。
有这些社区。()里面的数字是喜欢这个社区的用户的数量。
- 社区A(17),社区所有者是user_id '2'
- 社区B(35),社区所有者是user_id '1'
- 社区C(8),社区所有者是user_id '2'
我想得到喜欢用户'2'他的社区的用户总数。这里应该是25 (17 + 8)
我怎样才能得到这个?
应该是这样的?cached_votes_up
有喜欢该社区的用户数。
@user = User.find(2)
@communities = Community.find(@user).
@user.summarized_number = @communities.cached_votes_up.count
@user.save
您可以使用ActiveRecord:: calculation# sum方法:
@user.summarized_number = Community.sum(:cached_votes_up, :conditions => ["user_id = ?", @user.id])