从Rails ActiveRecord中的结果中排除一些ID

Bee*_*her 2 ruby activerecord ruby-on-rails

我有一些部分的查询文章的以下声明

Article.all(:joins => :sections, :conditions => { :sections =>{ :id => [3, 4, 6, 7, 8, 9] }, :id_not_in => @some_ids  }, :limit => 4)
Run Code Online (Sandbox Code Playgroud)

变量@some_ids是包含必须从结果中排除的文章ID的数组.

Ju *_*ira 9

如果Article has_many :sections,尝试:

Article.find(:all, :joins => :sections, :conditions => ["sections.id IN (?) AND
   id NOT IN (?)", [1,2,3], @some_ids], :limit => 4)
Run Code Online (Sandbox Code Playgroud)