【发布时间】:2018-09-21 11:49:31
【问题描述】:
是否有任何逻辑可以将 ActiveRecord 查询记录的字段从 1 更新为 n。
@user = User.where(country: 'US')
需要将以上@user 的字段计数从1 更新为n。
提前致谢。
编辑:
需要更新所有记录 - 字段是count。
AR查询会返回数组,需要数组(元组)的count字段中的每个元素从1到n
示例:AR 查询输出:[User1, User2, User3, User4, ...]
User1 的count 字段必须更新为1
User2 的count 字段必须更新为2 等等。
【问题讨论】:
-
你的意思是用户在数据库中有一个计数字段吗?
-
您要更新哪个用户字段?并将
@user更改为@users以获得更好的命名约定。 -
我不明白你的问题。更新哪个字段?是单条记录,还是记录集合? 可能您正在寻找我们使用的答案
update_all?? -
User.where(country: 'US')不会返回单个用户,而是返回一组用户。你想更新什么?该阵列中的所有用户?到同一个n? -
由于他在问题标题中写了
without looping,我假设他要求User.where(country: 'US', id: 1..N).update_all(whatever: value)
标签: ruby-on-rails ruby ruby-on-rails-4 activerecord ruby-on-rails-5