aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/calculations.rb
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2014-06-11 14:32:00 -0600
committerSean Griffin <sean@thoughtbot.com>2014-06-11 15:12:36 -0600
commitfef044cd2bd167201462861385ebf38bbf3158d7 (patch)
treed173e9b6834bd0bc2c795e6ce5f5131f82b4f6bf /activerecord/lib/active_record/relation/calculations.rb
parent1b14bff81a9ab6654badf52b552f90c8fc3ab0e3 (diff)
downloadrails-fef044cd2bd167201462861385ebf38bbf3158d7.tar.gz
rails-fef044cd2bd167201462861385ebf38bbf3158d7.tar.bz2
rails-fef044cd2bd167201462861385ebf38bbf3158d7.zip
Pluck should work with columns of the same name from different tables
The column name given by the adapter doesn't include the table namespace, so going through the hashed version of the result set causes overridden keys. Fixes #15649
Diffstat (limited to 'activerecord/lib/active_record/relation/calculations.rb')
-rw-r--r--activerecord/lib/active_record/relation/calculations.rb4
1 files changed, 1 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/relation/calculations.rb b/activerecord/lib/active_record/relation/calculations.rb
index 38970a66ae..028e4d80ab 100644
--- a/activerecord/lib/active_record/relation/calculations.rb
+++ b/activerecord/lib/active_record/relation/calculations.rb
@@ -176,9 +176,7 @@ module ActiveRecord
}
end
- result = result.map do |attributes|
- values = attributes.values
-
+ result = result.rows.map do |values|
columns.zip(values).map { |column, value| column.type_cast_from_database value }
end
columns.one? ? result.map!(&:first) : result