Skip to content

Commit 884b2bb

Browse files
authored
Update RO.php
Fix #62 multiple relation parsing
1 parent ab325b9 commit 884b2bb

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

src/AbraFlexi/RO.php

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,12 +1070,24 @@ public function fixRecordTypes(array $record, $evidence = null)
10701070

10711071
break;
10721072
case 'relation':
1073-
$record[$column] = new Relation(
1074-
\is_array($value) ? $value[0] : $value,
1075-
\array_key_exists('fkEvidencePath', $columnInfo) && null !== $columnInfo['fkEvidencePath'] ? $columnInfo['fkEvidencePath'] : $column,
1076-
\array_key_exists($column.'@ref', $record) ? $record[$column.'@ref'] : null,
1077-
\array_key_exists($column.'@showAs', $record) ? $record[$column.'@showAs'] : null,
1078-
);
1073+
if (\is_array($record[$column])) {
1074+
foreach ($record[$column] as $pos => $value) {
1075+
$record[$column][$pos] = new Relation(
1076+
\is_array($value) ? $value[0] : $value,
1077+
\array_key_exists('fkEvidencePath', $columnInfo) && null !== $columnInfo['fkEvidencePath'] ? $columnInfo['fkEvidencePath'] : $column,
1078+
\array_key_exists($column.'@ref', $record) ? $record[$column.'@ref'] : null,
1079+
\array_key_exists($column.'@showAs', $record) ? $record[$column.'@showAs'] : null,
1080+
);
1081+
}
1082+
} else {
1083+
$record[$column] = new Relation(
1084+
\is_array($value) ? $value[0] : $value,
1085+
\array_key_exists('fkEvidencePath', $columnInfo) && null !== $columnInfo['fkEvidencePath'] ? $columnInfo['fkEvidencePath'] : $column,
1086+
\array_key_exists($column.'@ref', $record) ? $record[$column.'@ref'] : null,
1087+
\array_key_exists($column.'@showAs', $record) ? $record[$column.'@showAs'] : null,
1088+
);
1089+
}
1090+
10791091
unset($record[$column.'@ref'], $record[$column.'@showAs']);
10801092

10811093
break;

0 commit comments

Comments
 (0)