假设我们有以下内容:
irb> Post.where(:hidden => true).to_sql
=> "SELECT `posts`.* FROM `posts` WHERE posts.hidden = 1"
我们能否以某种方式从中获取反向 SQL 查询?
我在找什么,应该是这样的:
irb> Post.where(:hidden => true).invert.to_sql
=> "SELECT `posts`.* FROM `posts` WHERE NOT (posts.hidden = 1)"
最佳答案
使用不同的语法,是的。例子:
posts = Post.scoped.table # or Arel::Table.new("posts")
posts.where(posts[:hidden].eq(true).not).to_sql
# => SELECT FROM `posts` WHERE NOT ((`posts`.`hidden` = 1))
关于sql - 有没有办法反转 ActiveRecord::Relation 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5302510/