2010-09-09 59 views
1

我想爲具有零個帖子的博客設置一個named_scope。在has_many關聯中爲「no children」創建一個named_scope

以下不起作用。

class Post < ActiveRecord::Base 
    belongs_to :blog 
end 

class Blog < ActiveRecord::Base 
    has_many :posts 

    named_scope :has_no_posts, :conditions => "blogs.id NOT IN (SELECT blog_id FROM posts)" 
end 

回答

0

你確定它不起作用嗎?這個對我有用。

0

不確定爲什麼你的代碼不起作用。它是否錯誤或不會返回你的期望?你可以發佈它生成的SQL嗎?

但是你可以嘗試:

named_scope :has_no_posts, :include => [:posts], :conditions => "posts.id IS NULL" 
相關問題