gpt4 book ai didi

ruby-on-rails - Rails 根据条件更新数据的方法

转载 作者:太空宇宙 更新时间:2023-11-03 17:26:59 25 4
gpt4 key购买 nike

根据 activerecord 中的某些给定条件更新表值的最佳方法是什么?这个我试过了

  Suggestion.update(:active => 1).where({:item_id => 2, :user_id => 100})

但它不起作用。更新方法需要另一个参数 (id)。如果我像这样更改查询,

  suggest = Suggestion.where({:item_id => 2, :user_id => 100}).select(:id)
id = suggest.first.id
Suggestion.Update(id,:active => 1)

这让我大吃一惊。为什么我必须两次调用 db 来更新一条记录,而它可以在一次更新调用中完成?

最佳答案

Suggestion.update_all({:active => 1}, {:item_id => 2, :user_id => 100})

=>

UPDATE "suggestions" SET "active" = 1 WHERE ("suggestions"."item_id" = 2) AND ("suggestions"."user_id" = 100)

关于ruby-on-rails - Rails 根据条件更新数据的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5744547/

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