Skip to content

Commit d3422bb

Browse files
committed
Preserve order
1 parent 0526408 commit d3422bb

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/Database/Database.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3527,11 +3527,23 @@ private function populateDocumentRelationships(Document $collection, Document $d
35273527

35283528
$related = [];
35293529
if (!empty($relatedIds)) {
3530-
$related = $this->find($relatedCollection->getId(), [
3530+
$foundRelated = $this->find($relatedCollection->getId(), [
35313531
Query::equal('$id', $relatedIds),
35323532
Query::limit(PHP_INT_MAX),
35333533
...$queries
35343534
]);
3535+
3536+
// Preserve the order of related documents to match the junction order
3537+
$relatedById = [];
3538+
foreach ($foundRelated as $doc) {
3539+
$relatedById[$doc->getId()] = $doc;
3540+
}
3541+
3542+
foreach ($relatedIds as $relatedId) {
3543+
if (isset($relatedById[$relatedId])) {
3544+
$related[] = $relatedById[$relatedId];
3545+
}
3546+
}
35353547
}
35363548

35373549
$this->relationshipFetchDepth--;

0 commit comments

Comments
 (0)