aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/calculations.rb
diff options
context:
space:
mode:
authortwinturbo <me@broadcastingadam.com>2012-04-30 09:45:00 -0700
committertwinturbo <me@broadcastingadam.com>2012-04-30 09:45:00 -0700
commit93076168c4d2209e007a32abc7142cc23782d56a (patch)
treef64bfc799800320929674d07f5e5a84b40eed2e0 /activerecord/lib/active_record/relation/calculations.rb
parent7d5146efad1c3bd471f315e4d259e00052eacbb6 (diff)
downloadrails-93076168c4d2209e007a32abc7142cc23782d56a.tar.gz
rails-93076168c4d2209e007a32abc7142cc23782d56a.tar.bz2
rails-93076168c4d2209e007a32abc7142cc23782d56a.zip
Add ActiveRecord::Base#ids
Diffstat (limited to 'activerecord/lib/active_record/relation/calculations.rb')
-rw-r--r--activerecord/lib/active_record/relation/calculations.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/relation/calculations.rb b/activerecord/lib/active_record/relation/calculations.rb
index db894c8aa9..f388b75c05 100644
--- a/activerecord/lib/active_record/relation/calculations.rb
+++ b/activerecord/lib/active_record/relation/calculations.rb
@@ -139,6 +139,16 @@ module ActiveRecord
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 = {})