method
build_where
v4.2.9 -
Show latest stable
- Class:
ActiveRecord::QueryMethods
build_where(opts, other = [])private
No documentation available.
# File activerecord/lib/active_record/relation/query_methods.rb, line 947
def build_where(opts, other = [])
case opts
when String, Array
[@klass.send(:sanitize_sql, other.empty? ? opts : ([opts] + other))]
when Hash
opts = PredicateBuilder.resolve_column_aliases(klass, opts)
tmp_opts, bind_values = create_binds(opts)
self.bind_values += bind_values
attributes = @klass.send(:expand_hash_conditions_for_aggregates, tmp_opts)
add_relations_to_bind_values(attributes)
PredicateBuilder.build_from_hash(klass, attributes, table)
else
[opts]
end
end