method

build_join_query

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