protected function fieldTypeObject($type)
{
if (isset($this->types[$type])) {
return $this->types[$type];
}
$obj = null;
switch ($type) {
case 'big-integer':
$obj = new types\BigInteger();
break;
case 'binary':
$obj = new types\Binary();
break;
case 'boolean':
$obj = new types\Boolean();
break;
case 'char':
$obj = new types\Char();
break;
case 'date-time':
$obj = new types\DateTime();
break;
case 'date':
$obj = new types\Date();
break;
case 'decimal':
$obj = new types\Decimal();
break;
case 'double':
$obj = new types\Double();
break;
case 'enum':
$obj = new types\Enum();
break;
case 'float':
$obj = new types\Float();
break;
case 'integer':
$obj = new types\Integer();
break;
case 'json':
$obj = new types\Json();
break;
case 'jsonb':
$obj = new types\Jsonb();
break;
case 'long-text':
$obj = new types\LongText();
break;
case 'medium-integer':
$obj = new types\MediumInteger();
break;
case 'medium-text':
$obj = new types\MediumText();
break;
case 'morphs':
$obj = new types\Morphs();
break;
case 'small-integer':
$obj = new types\SmallInteger();
break;
case 'string':
$obj = new types\String();
break;
case 'text':
$obj = new types\Text();
break;
case 'timestamp':
$obj = new types\Timestamp();
break;
case 'time':
$obj = new types\Time();
break;
case 'tiny-integer':
$obj = new types\TinyInteger();
break;
}
$this->types[$type] = $obj;
return $obj;
}