如何在Activerecord中优化选择查询?

时间:2015-03-20 09:38:01

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

我正在寻找是否有更好的方法来编写以下ActiveRecord查询。

@posts = Post.select {|x| x.section.nil?} 

我对此查询的操作是搜索帖子,只选择不再有相关部分并且孤立的帖子。

有更好的方法吗?我使用的是rails 3.2。

非常感谢。

1 个答案:

答案 0 :(得分:2)

这应该有效:

Post.joins('left outer join sections on sections.id = posts.section_id').where('sections.id is null and posts.section_id is not null')

或以较短的方式,使用eager_load

Post.eager_load(:section).where('sections.id is null and posts.section_id is not null')