use*_*840 0 ruby ruby-on-rails
我想要一种方法来减少列(信用)中的每个值一定的数量.我试过了:
User.all.map! {|user| user.credit -= 50}
Run Code Online (Sandbox Code Playgroud)
它只是映射信用,而不是用户.我觉得正确的答案是使用
User.update_all(something)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用此方法更新相对于其先前值的值.
这似乎是一个常见的要求,所以我猜测有一个标准的方法.
您可以update_all在此示例中将字符串传递给like:
User.update_all("credit = credit - 50")
Run Code Online (Sandbox Code Playgroud)
SQL将被exectued:
UPDATE "users" SET credit = credit - 50
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |