有没有办法在调用关联时使用ActiveRecord而不是两个SQL查询?

时间:2014-08-25 17:14:53

标签: ruby-on-rails associations rails-activerecord

假设我们有用户,帖子和评论。用户有很多帖子,帖子有很多评论并属于用户。评论仅属于帖子。

假设我有评论,并且我想让用户与帖子相关联。

我能做到:comment.post.user

这样做会触发2个SQL查询(除非帖子已经缓存):

Post Load (0.8ms)  SELECT  "posts".* FROM "posts"  WHERE "posts"."id" = $1 LIMIT 1  [["id", 1]]
User Load (0.4ms)  SELECT  "users".* FROM "users"  WHERE "users"."id" = $1 LIMIT 1  [["id", 1]]

现在,我不会问是否可以为此进行一次SQL查询。我知道它是。有没有办法让ActiveRecord只进行一次查询?

如果以上是在交易中完成的话,我认为这可能不是什么大问题,但我对此表示怀疑。

1 个答案:

答案 0 :(得分:0)