Nette\Database\Drivers\MySqlDriver::getForeignKeys PHP Method

getForeignKeys() public method

Returns metadata for all foreign keys in a table.
public getForeignKeys ( $table )
    public function getForeignKeys($table)
    {
        $keys = [];
        $query = 'SELECT CONSTRAINT_NAME, COLUMN_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME FROM information_schema.KEY_COLUMN_USAGE ' . 'WHERE TABLE_SCHEMA = DATABASE() AND REFERENCED_TABLE_NAME IS NOT NULL AND TABLE_NAME = ' . $this->connection->quote($table);
        foreach ($this->connection->query($query) as $id => $row) {
            $keys[$id]['name'] = $row['CONSTRAINT_NAME'];
            // foreign key name
            $keys[$id]['local'] = $row['COLUMN_NAME'];
            // local columns
            $keys[$id]['table'] = $row['REFERENCED_TABLE_NAME'];
            // referenced table
            $keys[$id]['foreign'] = $row['REFERENCED_COLUMN_NAME'];
            // referenced columns
        }
        return array_values($keys);
    }