method
apply_join_dependency
v6.0.0 -
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 373
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)
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