如何通过ActiveRecord获取ID

时间:2011-10-11 10:48:51

标签: ruby-on-rails activerecord

class PersonAddress < ActiveRecord::Base
end

我想使用ActiveRecord查询仅获取PersonAddress id(主键),我该怎么做,类似于PersonAddress.find_all_by_person_id(person.id),它单独返回一组地址ID。 (例如,如果此人有3个地址,那么它应该返回3个ID而不是PersonAddress对象)

2 个答案:

答案 0 :(得分:1)

你可以做的是:选择参数:

PersonAddress.find_all_by_person_id(person.id, :select => :id).map(&:id)
=> [2, 3, 5]  # Fake ids

答案 1 :(得分:0)

取决于您使用的是哪个Rails版本......但这可能有效:

PersonAddress.find_all_by_person_id(person.id).select("id")