instance method
build_where
Ruby on Rails 4.1.16
Since v3.0.20 Last seen in v4.2.9 PrivateSignature
build_where(opts, other = [])
No documentation comment.
Parameters
-
optsreq -
otheropt = []
Source
# File activerecord/lib/active_record/relation/query_methods.rb, line 939
def build_where(opts, other = [])
case opts
when String, Array
#TODO: Remove duplication with: /activerecord/lib/active_record/sanitization.rb:113
values = Hash === other.first ? other.first.values : other
values.grep(ActiveRecord::Relation) do |rel|
self.bind_values += rel.bind_values
end
[@klass.send(:sanitize_sql, other.empty? ? opts : ([opts] + other))]
when Hash
opts = PredicateBuilder.resolve_column_aliases(klass, opts)
attributes = @klass.send(:expand_hash_conditions_for_aggregates, opts)
add_relations_to_bind_values(attributes)
PredicateBuilder.build_from_hash(klass, attributes, table)
else
[opts]
end
end
Defined in activerecord/lib/active_record/relation/query_methods.rb line 939
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::QueryMethods