Skip to content

Commit

Permalink
make sure we keep parent records in order
Browse files Browse the repository at this point in the history
  • Loading branch information
tenderlove committed Nov 6, 2010
1 parent 39a8056 commit c11102d
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions activerecord/lib/active_record/associations.rb
Expand Up @@ -1873,15 +1873,15 @@ def count_aliases_from_table_joins(name)


def instantiate(rows) def instantiate(rows)
primary_key = join_base.aliased_primary_key primary_key = join_base.aliased_primary_key
base_records_hash = {} parents = {}


rows.each do |model| records = rows.map { |model|
primary_id = model[primary_key] primary_id = model[primary_key]
base_records_hash[primary_id] ||= join_base.instantiate(model) parent = parents[primary_id] ||= join_base.instantiate(model)
construct(base_records_hash[primary_id], @associations, join_associations.dup, model) construct(parent, @associations, join_associations.dup, model)
end parent
}.uniq


records = base_records_hash.values
remove_duplicate_results!(join_base.active_record, records, @associations) remove_duplicate_results!(join_base.active_record, records, @associations)
records records
end end
Expand Down

0 comments on commit c11102d

Please sign in to comment.