Prado\Data\Common\Pgsql\TPgsqlMetaData::getForeignKeys PHP Method

getForeignKeys() protected method

Gets foreign relationship constraint keys and table name
protected getForeignKeys ( $src ) : array
return array foreign relationship table name and keys, null otherwise
    protected function getForeignKeys($src)
    {
        $matches = array();
        $brackets = '\\(([^\\)]+)\\)';
        $find = "/FOREIGN\\s+KEY\\s+{$brackets}\\s+REFERENCES\\s+([^\\(]+){$brackets}/i";
        if (preg_match($find, $src, $matches)) {
            $keys = preg_split('/,\\s+/', $matches[1]);
            $fkeys = array();
            foreach (preg_split('/,\\s+/', $matches[3]) as $i => $fkey) {
                $fkeys[$keys[$i]] = $fkey;
            }
            return array('table' => str_replace('"', '', $matches[2]), 'keys' => $fkeys);
        }
    }