Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge pull request #6091 from twinturbo/add-ids

Add ActiveRecord::Base#ids - Close #5812
  • Loading branch information...
commit 69c2307a7d48a3ab64a161fbf1d3fd20675e3f38 2 parents c435feb + 9307616
@wycats wycats authored
View
10 activerecord/lib/active_record/relation/calculations.rb
@@ -139,6 +139,16 @@ def pluck(column_name)
end
end
+ # Pluck all the ID's for the relation using the table's primary key
+ #
+ # Examples:
+ #
+ # Person.ids # SELECT people.id FROM people
+ # Person.joins(:companies).ids # SELECT people.id FROM PEOPLE INNER JOIN companies ON companies.person_id = people.id
+ def ids
+ pluck primary_key
+ end
+
private
def perform_calculation(operation, column_name, options = {})
View
4 activerecord/test/cases/calculations_test.rb
@@ -465,4 +465,8 @@ def test_pluck_not_auto_table_name_prefix_if_column_joined
Company.create!(:name => "test", :contracts => [Contract.new(:developer_id => 7)])
assert_equal [7], Company.joins(:contracts).pluck(:developer_id)
end
+
+ def test_plucks_with_ids
+ assert_equal Company.all.map(&:id), Company.ids
+ end
end
Please sign in to comment.
Something went wrong with that request. Please try again.