从Rails ActiveRecord中的结果中排除一些ID
我有一些部分的查询文章的以下声明
Article.all(:joins => :sections, :conditions => { :sections =>{ :id => [3, 4, 6, 7, 8, 9] }, :id_not_in => @some_ids }, :limit => 4)
变量@some_ids是包含必须从结果中排除的文章ID的数组。
如果Article
has_many :sections
,请尝试:
Article.find(:all, :joins => :sections, :conditions => ["sections.id IN (?) AND id NOT IN (?)", [1,2,3], @some_ids], :limit => 4)
Article.all(:joins => :sections, :conditions => [ 'sections.id in ? and sections.id not in ?', [3, 4, 6, 7, 8, 9], @some_ids ], :limit => 4)
未经测试