我希望有一个不涉及 find_by_sql
的简单解决方案,如果没有,那么我想这必须起作用。
我找到了this article其中引用了这个:
Topic.find(:all, :conditions => { :forum_id => @forums.map(&:id) })
与
相同SELECT * FROM topics WHERE forum_id IN (<@forum ids>)
我想知道是否有办法NOT IN
这样做,例如:
SELECT * FROM topics WHERE forum_id NOT IN (<@forum ids>)
最佳答案
Rails 4+:
Article.where.not(title: ['Rails 3', 'Rails 5'])
rails 3:
Topic.where('id NOT IN (?)', Array.wrap(actions))
其中 actions
是一个数组,其中:[1,2,3,4,5]
关于ruby-on-rails - 如何使用 ActiveRecord/Rails 表达 NOT IN 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4307411/