method
build_join_query
v5.2.3 -
Show latest stable
- Class:
ActiveRecord::QueryMethods
build_join_query(manager, buckets, join_type, aliases)private
No documentation available.
# File activerecord/lib/active_record/relation/query_methods.rb, line 1012
def build_join_query(manager, buckets, join_type, aliases)
buckets.default = []
association_joins = buckets[:association_join]
stashed_joins = buckets[:stashed_join]
join_nodes = buckets[:join_node].uniq
string_joins = buckets[:string_join].map(&:strip).uniq
join_list = join_nodes + convert_join_strings_to_ast(string_joins)
alias_tracker = alias_tracker(join_list, aliases)
join_dependency = ActiveRecord::Associations::JoinDependency.new(
klass, table, association_joins
)
joins = join_dependency.join_constraints(stashed_joins, join_type, alias_tracker)
joins.each { |join| manager.from(join) }
manager.join_sources.concat(join_list)
alias_tracker.aliases
end