Exemplo n.º 1
0
 /**
  * @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;
 }
Exemplo n.º 2
0
 /**
  * @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;
 }