instance method
to_sql
Ruby on Rails 4.2.9
Since v3.0.20Signature
to_sql()
Returns sql statement for the relation.
User.where(name: 'Oscar').to_sql
# => SELECT "users".* FROM "users" WHERE "users"."name" = 'Oscar'
Source
# File activerecord/lib/active_record/relation.rb, line 537
def to_sql
@to_sql ||= begin
relation = self
connection = klass.connection
visitor = connection.visitor
if eager_loading?
find_with_associations { |rel| relation = rel }
end
arel = relation.arel
binds = (arel.bind_values + relation.bind_values).dup
binds.map! { |bv| connection.quote(*bv.reverse) }
collect = visitor.accept(arel.ast, Arel::Collectors::Bind.new)
collect.substitute_binds(binds).join
end
end
Defined in activerecord/lib/active_record/relation.rb line 537
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Relation