Skip to content

Commit 594c654

Browse files
VitexusVítězslav Dvořák
authored andcommitted
Update RO.php
Fix #62 multiple relation parsing
1 parent cddea58 commit 594c654

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

src/AbraFlexi/RO.php

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

11441144
break;
11451145
case 'relation':
1146-
$record[$column] = new Relation(
1147-
\is_array($value) ? $value[0] : $value,
1148-
\array_key_exists('fkEvidencePath', $columnInfo) && null !== $columnInfo['fkEvidencePath'] ? $columnInfo['fkEvidencePath'] : $column,
1149-
\array_key_exists($column.'@ref', $record) ? $record[$column.'@ref'] : null,
1150-
\array_key_exists($column.'@showAs', $record) ? $record[$column.'@showAs'] : null,
1151-
);
1146+
if (\is_array($record[$column])) {
1147+
foreach ($record[$column] as $pos => $value) {
1148+
$record[$column][$pos] = new Relation(
1149+
\is_array($value) ? $value[0] : $value,
1150+
\array_key_exists('fkEvidencePath', $columnInfo) && null !== $columnInfo['fkEvidencePath'] ? $columnInfo['fkEvidencePath'] : $column,
1151+
\array_key_exists($column.'@ref', $record) ? $record[$column.'@ref'] : null,
1152+
\array_key_exists($column.'@showAs', $record) ? $record[$column.'@showAs'] : null,
1153+
);
1154+
}
1155+
} else {
1156+
$record[$column] = new Relation(
1157+
\is_array($value) ? $value[0] : $value,
1158+
\array_key_exists('fkEvidencePath', $columnInfo) && null !== $columnInfo['fkEvidencePath'] ? $columnInfo['fkEvidencePath'] : $column,
1159+
\array_key_exists($column.'@ref', $record) ? $record[$column.'@ref'] : null,
1160+
\array_key_exists($column.'@showAs', $record) ? $record[$column.'@showAs'] : null,
1161+
);
1162+
}
1163+
11521164
unset($record[$column.'@ref'], $record[$column.'@showAs']);
11531165

11541166
break;

0 commit comments

Comments
 (0)