2

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

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

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

4

3 回答 3

5

您可以使用采摘方法:

例如People.pluck(:id)

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

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

希望有帮助..

于 2013-10-31T09:50:37.750 回答
5

你可以使用map方法

all_ids = people.map(&:id) #[1,2,3,4]
于 2013-10-31T09:54:46.380 回答
4
ids = People.all.map(&:id)

此代码将返回 id 数组

于 2013-10-31T10:13:47.167 回答