从集合ActiveRecord对象中获取特定列?

时间:2013-10-31 09:37:29

标签: ruby-on-rails ruby activerecord ruby-on-rails-4

如何从返回的ActiveRecord结果中提取ID列表,而无需单独重新查询ID列?
例如:

people = People.all
people.get_ids #Returns an array of IDS  

我目前的解决方案是循环people并手动获取ID(这不是很优雅,恕我直言)

3 个答案:

答案 0 :(得分:4)

您可以使用采摘方法:

e.g。 People.pluck(:id)

参考http://apidock.com/rails/ActiveRecord/Calculations/pluck

使用拔毛获取与获取所有结果后获取相同的过程相比会更好。

希望有所帮助..

答案 1 :(得分:4)

您可以使用map方法

all_ids = people.map(&:id) #[1,2,3,4]

答案 2 :(得分:2)

ids = People.all.map(&:id)

此代码将返回ID数组

相关问题