/** * @return \Meta\Field */ private function getFieldType($info, $params = array()) { if ($info->Key == 'PRI') { return new \Meta\Field\PrimaryKey($params); } list($type, $size) = \Meta\Db::extractType($info->Type); switch ($type) { case 'char': case 'varchar': case 'text': $field = new \Meta\Field\Text($params); break; case 'integer': case 'int': case 'bigint': $field = new \Meta\Field\Integer($params); break; case 'timestamp': case 'datetime': $field = new \Meta\Field\DateTime($params); break; case 'date': $field = new \Meta\Field\Date($params); break; case 'tinyint': $field = new \Meta\Field\Boolean($params); break; } return $field; }
/** * @return \Meta\Column */ private function getColType($info, $params = array()) { if ($info->Key == 'PRI') { return new \Meta\Column\PrimaryKey($params); } list($type, $size) = \Meta\Db::extractType($info->Type); switch ($type) { case 'char': case 'varchar': case 'integer': case 'int': case 'bigint': case 'text': $col = new \Meta\Column($params); break; case 'timestamp': case 'datetime': $col = new \Meta\Column\DateTime($params); break; case 'date': $col = new \Meta\Column\Date($params); break; case 'tinyint': $col = new \Meta\Column\Boolean($params); break; } // some special columns if (in_array($info->Field, array('picture'))) { $col = new \Meta\Column\Image($params); } return $col; }