instance method
build_joins
Ruby on Rails 7.0.10
Since v3.0.20 PrivateSignature
build_joins(join_sources, aliases = nil)
No documentation comment.
Parameters
-
join_sourcesreq -
aliasesopt = nil
Source
# File activerecord/lib/active_record/relation/query_methods.rb, line 1491
def build_joins(join_sources, aliases = nil)
return join_sources if joins_values.empty? && left_outer_joins_values.empty?
buckets, join_type = build_join_buckets
association_joins = buckets[:association_join]
stashed_joins = buckets[:stashed_join]
leading_joins = buckets[:leading_join]
join_nodes = buckets[:join_node]
join_sources.concat(leading_joins) unless leading_joins.empty?
unless association_joins.empty? && stashed_joins.empty?
alias_tracker = alias_tracker(leading_joins + join_nodes, aliases)
join_dependency = construct_join_dependency(association_joins, join_type)
join_sources.concat(join_dependency.join_constraints(stashed_joins, alias_tracker, references_values))
end
join_sources.concat(join_nodes) unless join_nodes.empty?
join_sources
end
Defined in activerecord/lib/active_record/relation/query_methods.rb line 1491
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::QueryMethods