Sadece bunu güncellemek için birçok insan buna geliyor gibi görünüyor, Rails 4 kullanıyorsanız Trung Lê` ve VinniVidiVicci'nin cevaplarına bakın.
Topic.where.not(forum_id:@forums.map(&:id))
Topic.where(published:true).where.not(forum_id:@forums.map(&:id))
Ben umarım içermeyen kolay bir çözüm olduğunu umuyorum find_by_sql
, eğer o zaman işe yarayacak sanırım.
Bu makaleye başvuran bu makaleyi buldum :
Topic.find(:all, :conditions => { :forum_id => @forums.map(&:id) })
ki aynı
SELECT * FROM topics WHERE forum_id IN (<@forum ids>)
Bunun gibi bir yol olup olmadığını merak ediyorum NOT IN
:
SELECT * FROM topics WHERE forum_id NOT IN (<@forum ids>)
Person.all(:name.not => ['bob','rick','steve'])