提交 c11102d4 编写于 作者: A Aaron Patterson

make sure we keep parent records in order

上级 39a80567
......@@ -1873,15 +1873,15 @@ def count_aliases_from_table_joins(name)
def instantiate(rows)
primary_key = join_base.aliased_primary_key
base_records_hash = {}
parents = {}
rows.each do |model|
records = rows.map { |model|
primary_id = model[primary_key]
base_records_hash[primary_id] ||= join_base.instantiate(model)
construct(base_records_hash[primary_id], @associations, join_associations.dup, model)
end
parent = parents[primary_id] ||= join_base.instantiate(model)
construct(parent, @associations, join_associations.dup, model)
parent
}.uniq
records = base_records_hash.values
remove_duplicate_results!(join_base.active_record, records, @associations)
records
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册