diff --git a/src/Response.php b/src/Response.php index 5a30f99..6b8daa9 100644 --- a/src/Response.php +++ b/src/Response.php @@ -161,6 +161,21 @@ private function loadRelatedField( $related_field, $related_table, $record ) } while( $relation_request = $relation_response->next() ); + // Keep order + if (count($relation_ids) > 1) { + $related_records_sorted = array(); + + foreach ($relation_ids as $relation_id) { + $key = array_search($relation_id, array_column($related_records, 'id')); + + if ($key !== false) { + $related_records_sorted[] = $related_records[$key]; + } + } + + $related_records = $related_records_sorted; + } + if( is_array( $record->fields->$related_field ) ) { $record->fields->$related_field = $related_records;