ActiveRecord/RailsでNOT INクエリを表現するにはどうすればいいですか? 質問する

ActiveRecord/RailsでNOT INクエリを表現するにはどうすればいいですか? 質問する

を必要としない簡単な解決策があることを願っていますfind_by_sqlが、そうでない場合は、それを実行する必要があると思います。

これについて言及しているこの記事を見つけました:

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>)

ベストアンサー1

Rails 4+:

Article.where.not(title: ['Rails 3', 'Rails 5']) 

レール3:

Topic.where('id NOT IN (?)', Array.wrap(actions))

actions次の配列がどこにありますか:[1,2,3,4,5]

おすすめ記事