@@ -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