ruby的轨道 – Rails渴望加载计数?

使用include属性,加载很好
Post.find(:all,:include => :author)
@H_502_4@我想知道你是否也可以加载计数,就像我想获得每个帖子的评论数量,而不是加载所有的评论

@H_502_4@也许是这样的东西

Post.find(:all,:include => [:author,"count(comments)")
@H_502_4@我想我可以使用一个count_cache列.但是,如果可能的话,这样做一定会很美.

@H_502_4@如果有人能够显示如何不仅得到计数,而且还提供了一些条件,例如只有批准的帖子的数量,额外的奖励积分.

解决方法

至少在MysqL中,将它们作为两个单独的调用更快,因为您避免了连接.我知道这不能回答你的问题,但是似乎你正在努力提高速度和做事
Post.find ...
@H_502_4@然后

post.comments.count
@H_502_4@比在一个查询中检索两者更快,更高的内存效率(对于数据库).

相关文章

以下代码导致我的问题: class Foo def initialize(n=0) @n = n end attr_accessor :n d...
这是我的spec文件,当为上下文添加测试“而不是可单独更新用户余额”时,我得到以下错误. require 's...
我有一个拦截器:DevelopmentMailInterceptor和一个启动拦截器的inititializer setup_mail.rb. 但我想将...
例如,如果我有YAML文件 en: questions: new: 'New Question' other: recent: ...
我听说在RSpec中避免它,let,let !,指定,之前和主题是最佳做法. 关于让,让!之前,如果不使用这些,我该如...
我在Rails中使用MongoDB和mongo_mapper gem,项目足够大.有什么办法可以将数据从Mongoid迁移到 Postgres...