diff options
-rw-r--r-- | activerecord/lib/active_record/associations/join_dependency.rb | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/associations/join_dependency.rb b/activerecord/lib/active_record/associations/join_dependency.rb index 4daaec9d22..b147f0a847 100644 --- a/activerecord/lib/active_record/associations/join_dependency.rb +++ b/activerecord/lib/active_record/associations/join_dependency.rb @@ -105,14 +105,13 @@ module ActiveRecord } } - records = result_set.map { |row_hash| + result_set.each { |row_hash| primary_id = type_caster.type_cast row_hash[primary_key] parent = parents[primary_id] ||= join_root.instantiate(row_hash) construct(parent, join_root, row_hash, result_set, seen) - parent - }.uniq + } - records + parents.values end private |