module ActiveRecord::QueryMethods
Public Instance Methods
build_arel(aliases = nil)
Also aliased as: build_arel_without_distinct_on
Alias for: build_arel_with_distinct_on
build_arel_with_distinct_on(aliases = nil)
click to toggle source
# File lib/active_record/query_methods.rb, line 27 def build_arel_with_distinct_on(aliases = nil) arel = build_arel_without_distinct_on(aliases) arel.distinct_on(self.distinct_on_values) if !self.distinct_on_values.empty? arel end
Also aliased as: build_arel
distinct_on(*fields)
click to toggle source
# File lib/active_record/query_methods.rb, line 15 def distinct_on(*fields) spawn.distinct_on!(*fields) end
Also aliased as: uniq_on
distinct_on!(*fields)
click to toggle source
# File lib/active_record/query_methods.rb, line 20 def distinct_on!(*fields) fields.flatten! self.distinct_on_values = fields.map { |x| x.is_a?(Arel::Attributes::Attribute) ? x : klass.arel_table[x] } self end
Also aliased as: uniq_on!
distinct_on_values()
click to toggle source
# File lib/active_record/query_methods.rb, line 7 def distinct_on_values @values["distinct_on_values"] || [] end
distinct_on_values=(value)
click to toggle source
# File lib/active_record/query_methods.rb, line 11 def distinct_on_values=(value) @values["distinct_on_values"] = value end