public function getForeignKeys($table)
{
$table = strtoupper($table);
$res = $this->query("\n\t\t\tSELECT TRIM(s.RDB\$INDEX_NAME) AS INDEX_NAME,\n\t\t\t\tTRIM(s.RDB\$FIELD_NAME) AS FIELD_NAME,\n\t\t\tFROM RDB\$INDEX_SEGMENTS s\n\t\t\t\tLEFT JOIN RDB\$RELATION_CONSTRAINTS r ON r.RDB\$INDEX_NAME = s.RDB\$INDEX_NAME\n\t\t\tWHERE UPPER(i.RDB\$RELATION_NAME) = '{$table}'\n\t\t\t\tAND r.RDB\$CONSTRAINT_TYPE = 'FOREIGN KEY'\n\t\t\tORDER BY s.RDB\$FIELD_POSITION");
$keys = [];
while ($row = $res->fetch(TRUE)) {
$key = $row['INDEX_NAME'];
$keys[$key] = ['name' => $key, 'column' => $row['FIELD_NAME'], 'table' => $table];
}
return $keys;
}