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

Abd*_*ziz 2 ruby activerecord ruby-on-rails ruby-on-rails-4

如何在不ID单独重新查询列的情况下从返回的 ActiveRecord 结果中提取 ID 列表?
例如:

people = People.all
people.get_ids #Returns an array of IDS  
Run Code Online (Sandbox Code Playgroud)

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

Raj*_*tan 5

您可以使用pluck方法:

例如 People.pluck(:id)

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

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

希望有帮助..


Deb*_*att 5

你可以使用map方法

all_ids = people.map(&:id) #[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)