0
你怎麼能執行使用AR以下SQL語句:Rails的活動記錄:SQL表達式在更新語句
UPDATE accounts SET balance = balance + 100 WHERE id = 1
我試圖找到辦法在AR更新語句來執行SQL表達式,但沒有什麼工作。我可以不這樣做
account.update balance: account.balance + 100
,因爲這將打開所有類型的競爭狀態的問題。 DBMS是處理這種更新的適當實體。
任何想法如何使用AR寫它?
我知道這是可以做到用:
Account.where(id: 1).update_all("balance = balance + 100")
但是這看起來很非軌道喜歡我。我希望有一個清潔的解決方案
謝謝,但如果我想要做一些像'''balance = old_balance + amount'''的東西呢? (「old_balance」和「amount」都是表中的字段) – Faisal
@Faisal humm ..要使用AR來滿足評論,'#update_all'是要走的路。 –