update_all
Base.update_all(updates, conditions = nil, options = {})
前面为执行语句,后面为where语句。
源码
# File active_record/base.rb, line 670 def update_all(updates, conditions = nil, options = {}) sql = "UPDATE #{table_name} SET #{sanitize_sql_for_assignment(updates)} " scope = scope(:find) add_conditions!(sql, conditions, scope) add_order!(sql, options[:order], scope) add_limit!(sql, options, scope) connection.update(sql, "#{name} Update") end
例子
# Update all billing objects with the 3 different attributes given Billing.update_all( "category = 'authorized', approved = 1, author = 'David'" ) # Update records that match our conditions Billing.update_all( "author = 'David'", "title LIKE '%Rails%'" ) # Update records that match our conditions but limit it to 5 ordered by date Billing.update_all( "author = 'David'", "title LIKE '%Rails%'", :order => 'created_at', :limit => 5 )
机器瞎学/数据掩埋/模式混淆/人工智障/深度遗忘/神经掉线/计算机幻觉/专注单身二十五年