diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/adodb-mssql.inc.php | 6 | ||||
| -rw-r--r-- | drivers/adodb-mssqlnative.inc.php | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/drivers/adodb-mssql.inc.php b/drivers/adodb-mssql.inc.php index b60d28c3..c137d17a 100644 --- a/drivers/adodb-mssql.inc.php +++ b/drivers/adodb-mssql.inc.php @@ -511,7 +511,11 @@ order by constraint_name, referenced_table_name, keyno"; foreach($arr as $k => $v) { foreach($v as $a => $b) { if ($upper) $a = strtoupper($a); - $arr2[$a] = $b; + if (is_array($arr2[$a])) { // a previous foreign key was define for this reference table, we merge the new one + $arr2[$a] = array_merge($arr2[$a], $b); + } else { + $arr2[$a] = $b; + } } } return $arr2; diff --git a/drivers/adodb-mssqlnative.inc.php b/drivers/adodb-mssqlnative.inc.php index 312fcfd0..acb4eec3 100644 --- a/drivers/adodb-mssqlnative.inc.php +++ b/drivers/adodb-mssqlnative.inc.php @@ -735,7 +735,11 @@ class ADODB_mssqlnative extends ADOConnection { foreach($arr as $k => $v) { foreach($v as $a => $b) { if ($upper) $a = strtoupper($a); - $arr2[$a] = $b; + if (is_array($arr2[$a])) { // a previous foreign key was define for this reference table, we merge the new one + $arr2[$a] = array_merge($arr2[$a], $b); + } else { + $arr2[$a] = $b; + } } } return $arr2; |
