instance method
apply_join_dependency
Ruby on Rails 6.1.7.10
Since v3.0.20 PrivateSignature
apply_join_dependency(eager_loading: group_values.empty?)
No documentation comment.
Parameters
-
eager_loadingkey = group_values.empty?
Source
# File activerecord/lib/active_record/relation/finder_methods.rb, line 397
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 && !(
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
)
)
if has_limit_or_offset?
limited_ids = limited_ids_for(relation)
limited_ids.empty? ? relation.none! : relation.where!(primary_key => limited_ids)
end
relation.limit_value = relation.offset_value = nil
end
if block_given?
yield relation, join_dependency
else
relation
end
end
Defined in activerecord/lib/active_record/relation/finder_methods.rb line 397
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::FinderMethods