method

build_join_query

Importance_0
v6.0.0 - Show latest stable - 0 notes - Class: ActiveRecord::QueryMethods
build_join_query(manager, buckets, join_type, aliases) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/relation/query_methods.rb, line 1144
      def build_join_query(manager, buckets, join_type, aliases)
        association_joins = buckets[:association_join]
        stashed_joins     = buckets[:stashed_join]
        leading_joins     = buckets[:leading_join]
        join_nodes        = buckets[:join_node]

        join_sources = manager.join_sources
        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))
        end

        join_sources.concat(join_nodes) unless join_nodes.empty?
      end
Register or log in to add new notes.