查找没有关联记录的记录

时间:2012-05-24 15:42:23

标签: ruby-on-rails

例如,Post has_many Comments

如何找到所有没有评论的帖子?

2 个答案:

答案 0 :(得分:3)

为了获得更好的性能,请使用counter_cache列:

belongs_to :post, :counter_cache => true

api.rubyonrails.orgRailscasts

然后你可以这样做:

Post.where("comments_count = ?", 0)

答案 1 :(得分:2)

您可以使用不存在的内容:

Post.where(" not exists (select 'x' from comments where comments.post_id = posts.id)")