687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
|
# File 'lib/jsonapi/resource.rb', line 687
def apply_filters(records, filters, options = {})
required_includes = []
if filters
filters.each do |filter, value|
if _relationships.include?(filter)
if _relationships[filter].belongs_to?
records = apply_filter(records, _relationships[filter].foreign_key, value, options)
else
required_includes.push(filter.to_s)
records = apply_filter(records, "#{_relationships[filter].table_name}.#{_relationships[filter].primary_key}", value, options)
end
else
records = apply_filter(records, filter, value, options)
end
end
end
if required_includes.any?
records = apply_includes(records, options.merge(include_directives: IncludeDirectives.new(self, required_includes, force_eager_load: true)))
end
records
end
|