Exemplo n.º 1
0
    /**
     * transform DB result to base_database_Column format
     *
     * @param $result
     * @return array
     */
    private function transformDBResultToColumns($result)
    {
        $colList = [];
        foreach ($result as $colEntry) {
            $col = new base_database_Column();
            $col->setName($colEntry['Field']);
            if (strpos($colEntry['Type'], '(') === false) {
                $col->setType($colEntry['Type']);
            } else {
                list($type, $length) = explode('(', $colEntry['Type']);
                $col->setType($type);
                $col->setLength(str_ireplace(')', '', $length));
            }
            if ($colEntry['Null'] != base_database_Column::NOT_NULL) {
                $col->setNull();
            }
            if ($colEntry['Key'] === base_database_Column::PRIMARY_KEY) {
                $col->setPrimary();
            }
            if (empty($colEntry['Default']) === false) {
                $col->setDefault($colEntry['Default']);
            }
            if ($colEntry['Extra'] === base_database_Column::AUTO_INCREMENT) {
                $col->setAutoIncrement();
            }
            $colList[$colEntry['Field']] = $col;

        }
        return $colList;
    }