如何从语句User.where(some_criteria: true)
中获取一组ID?
如果我User.where(some_criteria: true).select(:id)
,我会收到ActiveRecord::AssociationRelation
个对象。
答案 0 :(得分:2)
您可以使用pluck
获取ID这样的数组:
User.where(some_criteria: true).pluck(:id)
答案 1 :(得分:0)
鉴于模型用户
我可以做以下事情:
@User.where(myCriteria:true).select(:id) #Assume this gives me the following ids: [3, 9]
arrayR = [];
@User.each do |i|
arrayR << i.id
end
puts arrayR # Will return [3, 9] as an array object.
arrayR将拥有我的身份数组。
此简写版本也可以通过以下方式完成:
@user = User.all.pluck(:id)
puts @user.kind_of?(Array) #returns true
puts @user #returns an array of my id's. Using the previous example, this returns [3,9]