Dan*_*min 5 activerecord ruby-on-rails ruby-on-rails-3
我有一个记录的 ID,该记录可能存在于数据库中,也可能不存在。
我想要做的是仅在数据库中记录的属性存在时才更新它,否则忽略它。
现在我知道我可以做类似的事情:
model = Model.find_by_id(id)
if model
model.update_attribute(something: something)
end
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更好的东西不涉及 2 个查询?
Model.update_all({:something => 'something'}, {:id => id})
Run Code Online (Sandbox Code Playgroud)
例如:
User.update_all({:first_name => 's'}, {:id => 1000})
Run Code Online (Sandbox Code Playgroud)
将产生查询
UPDATE "users" SET "first_name" = 's' WHERE "users"."id" = 1000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10229 次 |
| 最近记录: |