aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2015-11-26 16:13:03 +0100
committerYves Senn <yves.senn@gmail.com>2015-11-26 16:13:03 +0100
commitd25205241b4f8d38b8ab106ffc1c465a8a697415 (patch)
treee8da5072bcc1a92433389a1b2e4d74987a5dbdff
parent71ffd9b521685cefd64f53eba989012701cef590 (diff)
parentaad6000f0b82d5113b82e40f1757d37c75d5de1c (diff)
downloadrails-d25205241b4f8d38b8ab106ffc1c465a8a697415.tar.gz
rails-d25205241b4f8d38b8ab106ffc1c465a8a697415.tar.bz2
rails-d25205241b4f8d38b8ab106ffc1c465a8a697415.zip
Merge pull request #22411 from jaredbeck/doc_ar_joins
Docs: ActiveRecord::QueryMethods#joins [ci skip]
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb24
1 files changed, 22 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 7a4bf5338d..dbecb842b5 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -411,10 +411,30 @@ module ActiveRecord
self
end
- # Performs a joins on +args+:
+ # Performs a joins on +args+. The given symbol(s) should match the name of
+ # the association(s).
#
# User.joins(:posts)
- # # SELECT "users".* FROM "users" INNER JOIN "posts" ON "posts"."user_id" = "users"."id"
+ # # SELECT "users".*
+ # # FROM "users"
+ # # INNER JOIN "posts" ON "posts"."user_id" = "users"."id"
+ #
+ # Multiple joins:
+ #
+ # User.joins(:posts, :account)
+ # # SELECT "users".*
+ # # FROM "users"
+ # # INNER JOIN "posts" ON "posts"."user_id" = "users"."id"
+ # # INNER JOIN "accounts" ON "accounts"."id" = "users"."account_id"
+ #
+ # Nested joins:
+ #
+ # User.joins(posts: [:comments])
+ # # SELECT "users".*
+ # # FROM "users"
+ # # INNER JOIN "posts" ON "posts"."user_id" = "users"."id"
+ # # INNER JOIN "comments" "comments_posts"
+ # # ON "comments_posts"."post_id" = "posts"."id"
#
# You can use strings in order to customize your joins:
#