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 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值