Mis*_*hko 6 activerecord ruby-on-rails active-relation ruby-on-rails-3
要获得publisher_id等于10,16或17的所有帖子,我会:
Post.where(:publisher_id => [10, 16, 17])
Run Code Online (Sandbox Code Playgroud)
我如何获得publisher_id 不等于10,16或17的所有帖子(即除了这三个之外的所有可能的ID)?
在rails 4中我们可以像下面这样做
Post.where.not(:publisher_id => [10, 16, 17])
Run Code Online (Sandbox Code Playgroud)
它将生成如下的SQL
SELECT "posts".* FROM "posts" WHERE ("posts"."publisher_id" NOT IN (10, 16, 17))
Run Code Online (Sandbox Code Playgroud)
只需执行:
Post.where(["publisher_id NOT IN (?)", [10, 16, 17]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5055 次 |
| 最近记录: |