【发布时间】:2011-06-06 00:17:12
【问题描述】:
如果我这样做
post = Post.find_by_id(post_id, :include => :comments)
执行两个查询(一个用于发布数据,另一个用于发布的 cmets)。然后当我做 post.cmets 时,由于数据已经缓存,所以没有执行另一个查询。
有没有办法只做一个查询,仍然通过 post.cmets 访问 cmets?
【问题讨论】:
-
这似乎不可能。我尝试在 cmets 上使用外连接。那确实只执行一个查询,但结果没有被缓存。所以,当我调用
post.comments时,它会执行另一个查询。如果其他人对此提出答案,我会很感兴趣。
标签: ruby-on-rails activerecord