gpt4 book ai didi

ruby-on-rails - 质量增量场加 1

转载 作者:行者123 更新时间:2023-12-03 21:19:33 24 4
gpt4 key购买 nike

我有疑问update deals set count = count + 1 .在 Rails 中,当我使用 ActiveRecord 执行此操作时,我可以想到

Deal.all.each { |deal| deal.update_attribute(:count => (deal.count + 1))}

这需要更多的 SQL 查询而不是一个查询。在 Rails 中是否有更好的方法来做到这一点(不直接在 Rails 应用程序中使用 SQL 查询)。

最佳答案

Deal.update_all("count = count + 1")

产出
UPDATE "deals" SET count = count + 1

并有条件:
Deal.where(order_id: 2).update_all("count = count + 1")

产出
UPDATE "deals" SET count = count + 1 WHERE "deals"."order_id" = 2

关于ruby-on-rails - 质量增量场加 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4967191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com