/** * 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; }