instance method build_joins

Ruby on Rails 7.2.3

Since v3.0.20 Private

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

build_joins(join_sources, aliases = nil)

No documentation comment.

Parameters

join_sources req
aliases opt = nil
Source
# File activerecord/lib/active_record/relation/query_methods.rb, line 1865
      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

        named_joins   = buckets[:named_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 named_joins.empty? && stashed_joins.empty?
          alias_tracker = alias_tracker(leading_joins + join_nodes, aliases)
          join_dependency = construct_join_dependency(named_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 1865 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::QueryMethods

Type at least 2 characters to search.

↑↓ navigate · open · esc close