在rails 3中,使用activerecord,是否存在一种单查询方式,可将所有满足条件的记录的:hidden字段设置为TRUE ...例如,:condition => [ "phonenum = ?", some_phone_number ]
如果单个查询无法做到,那么最佳方法是什么?
Answers:
将update_all与可选的第二个参数一起用于条件:
Model.update_all({ hidden: true }, { phonenum: some_phone_number})
Model.where("date_create < ?", a_certain_date).update_all(hidden: true)
update_all不允许在rails 3中使用条件。您可以结合使用scope和update_all
Model.where(phonenum: some_phone_number).update_all(hidden: true)
options
哈希表中使用的各种选项。这不包括上的conditions
参数update_all()
。