think\db\connector\Sqlsrv::getFields PHP Метод

getFields() публичный Метод

取得数据表的字段信息
public getFields ( string $tableName ) : array
$tableName string
Результат array
    public function getFields($tableName)
    {
        $this->initConnect(true);
        list($tableName) = explode(' ', $tableName);
        $sql = "SELECT   column_name,   data_type,   column_default,   is_nullable\n        FROM    information_schema.tables AS t\n        JOIN    information_schema.columns AS c\n        ON  t.table_catalog = c.table_catalog\n        AND t.table_schema  = c.table_schema\n        AND t.table_name    = c.table_name\n        WHERE   t.table_name = '{$tableName}'";
        // 调试开始
        $this->debug(true);
        $pdo = $this->linkID->query($sql);
        // 调试结束
        $this->debug(false, $sql);
        $result = $pdo->fetchAll(PDO::FETCH_ASSOC);
        $info = [];
        if ($result) {
            foreach ($result as $key => $val) {
                $val = array_change_key_case($val);
                $info[$val['column_name']] = ['name' => $val['column_name'], 'type' => $val['data_type'], 'notnull' => (bool) ('' === $val['is_nullable']), 'default' => $val['column_default'], 'primary' => false, 'autoinc' => false];
            }
        }
        $sql = "SELECT column_name FROM information_schema.key_column_usage WHERE table_name='{$tableName}'";
        // 调试开始
        $this->debug(true);
        $pdo = $this->linkID->query($sql);
        // 调试结束
        $this->debug(false, $sql);
        $result = $pdo->fetch(PDO::FETCH_ASSOC);
        if ($result) {
            $info[$result['column_name']]['primary'] = true;
        }
        return $this->fieldCase($info);
    }