instance method
update
Ruby on Rails edge
Signature
update(arel_or_sql, name = nil, binds = [])
Executes the update statement and returns the number of rows affected.
Parameters
-
arel_or_sqlreq -
nameopt = nil -
bindsopt = []
Source
# File activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb, line 313
def update(arel_or_sql, name = nil, binds = [])
if binds.any?
ActiveRecord.deprecator.warn(<<~MSG.squish)
Passing `binds` as a positional argument to `update` is
deprecated and will be removed in Rails 9.0. Use
`Arel.sql(sql_with_placeholders, *binds)` to carry bind values
inside the arel node instead —
`update(sql, name, binds)` becomes
`update(Arel.sql(sql, *binds), name)`.
MSG
end
intent = QueryIntent.new(adapter: self, arel: arel_or_sql, name: name, binds: binds)
intent.execute!
intent.affected_rows
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb line 313
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::DatabaseStatements