Наследование: implements Jarves\Admin\FieldTypes\ColumnDefinitionInterface
Пример #1
0
 /**
  * @return ColumnDefinitionInterface[]
  */
 public function getColumns()
 {
     $columnDefinition = new ColumnDefinition();
     $columnDefinition->setPhpDataType($this->getPhpDataType());
     $type = $this->getSqlDataType();
     if ($maxLength = $this->getFieldDefinition()->getMaxLength()) {
         $type .= '(' . $maxLength . ')';
     }
     $columnDefinition->setSqlDataType($type);
     $columnDefinition->setName($this->getFieldDefinition()->getId());
     if ($regex = $this->getFieldDefinition()->getRequiredRegex()) {
         $columnDefinition->setRequiredRegex($regex);
     }
     return [$columnDefinition];
 }
Пример #2
0
 /**
  * @return string
  */
 public function getPhpDataType()
 {
     if (1 < count($this->getColumns())) {
         return 'array';
     }
     if ($this->getColumns()) {
         $first = $this->getColumns()[0];
         if (ColumnDefinition::isInteger($first)) {
             return 'integer';
         } else {
             if (ColumnDefinition::isBoolean($first)) {
                 return 'boolean';
             } else {
                 if (ColumnDefinition::isFloat($first)) {
                     return 'float';
                 } else {
                     return 'string';
                 }
             }
         }
     }
 }