Prado\Data\Common\Mssql\TMssqlMetaData::getConstraintKeys PHP Метод

getConstraintKeys() защищенный Метод

Gets the primary and foreign key column details for the given table.
protected getConstraintKeys ( $col ) : array
Результат array tuple ($primary, $foreign)
    protected function getConstraintKeys($col)
    {
        $sql = <<<EOD
\t\tSELECT k.column_name field_name
\t\t\t\tFROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE k
\t\t\t\tLEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS c
\t\t\t\t\tON k.table_name = c.table_name
\t\t\t\tAND k.constraint_name = c.constraint_name
\t\t\tWHERE k.constraint_catalog = DB_NAME()
\t\tAND
\t\t\tc.constraint_type ='PRIMARY KEY'
\t\t\t\tAND k.table_name = :table
EOD;
        $command = $this->getDbConnection()->createCommand($sql);
        $command->bindValue(':table', $col['TABLE_NAME']);
        $primary = array();
        foreach ($command->query()->readAll() as $field) {
            $primary[] = $field['field_name'];
        }
        $foreign = $this->getForeignConstraints($col);
        return array($primary, $foreign);
    }