aboutsummaryrefslogtreecommitdiffstats
path: root/guides
diff options
context:
space:
mode:
authorAkira Matsuda <ronnie@dio.jp>2012-11-05 13:56:30 +0900
committerAkira Matsuda <ronnie@dio.jp>2012-11-30 01:18:18 +0900
commitde75af7acc5c05c708443de40e78965925165217 (patch)
tree2eb07baa89d145f0d0d66ee51d5fb0e5d62646e6 /guides
parent80b8df5f3d09205d8f239e9aefd5ed0e0ddfd4a5 (diff)
downloadrails-de75af7acc5c05c708443de40e78965925165217.tar.gz
rails-de75af7acc5c05c708443de40e78965925165217.tar.bz2
rails-de75af7acc5c05c708443de40e78965925165217.zip
Relation.where with no args can be chained with not, like, and not_like
examples: Model.where.not field: nil #=> "SELECT * FROM models WHERE field IS NOT NULL Model.where.like name: 'Jeremy%' #=> "SELECT * FROM models WHERE name LIKE 'Jeremy%' this feature was originally suggested by Jeremy Kemper https://github.com/rails/rails/pull/5950#issuecomment-5591330 Closes #5950
Diffstat (limited to 'guides')
-rw-r--r--guides/source/active_record_querying.md14
1 files changed, 14 insertions, 0 deletions
diff --git a/guides/source/active_record_querying.md b/guides/source/active_record_querying.md
index 32c139df99..5a4e084ce2 100644
--- a/guides/source/active_record_querying.md
+++ b/guides/source/active_record_querying.md
@@ -503,6 +503,20 @@ This code will generate SQL like this:
SELECT * FROM clients WHERE (clients.orders_count IN (1,3,5))
```
+### NOT, LIKE, and NOT LIKE Conditions
+
+`NOT`, `LIKE`, and `NOT LIKE` SQL queries can be built by `where.not`, `where.like`, and `where.not_like` respectively.
+
+```ruby
+Post.where.not(author: author)
+
+Author.where.like(name: 'Nari%')
+
+Developer.where.not_like(name: 'Tenderl%')
+```
+
+In other words, these sort of queries can be generated by calling `where` with no argument, then immediately chain with `not`, `like`, or `not_like` passing `where` conditions.
+
Ordering
--------