method
apply_join_dependency
v7.1.3.4 -
Show latest stable
- Class:
ActiveRecord::FinderMethods
apply_join_dependency(eager_loading: group_values.empty?)private
No documentation available.
# File activerecord/lib/active_record/relation/finder_methods.rb, line 445
def apply_join_dependency(eager_loading: group_values.empty?)
join_dependency = construct_join_dependency(
eager_load_values | includes_values, Arel::Nodes::OuterJoin
)
relation = except(:includes, :eager_load, :preload).joins!(join_dependency)
if eager_loading && has_limit_or_offset? && !(
using_limitable_reflections?(join_dependency.reflections) &&
using_limitable_reflections?(
construct_join_dependency(
select_association_list(joins_values).concat(
select_association_list(left_outer_joins_values)
), nil
).reflections
)
)
relation = skip_query_cache_if_necessary do
klass.connection.distinct_relation_for_primary_key(relation)
end
end
if block_given?
yield relation, join_dependency
else
relation
end
end