InfyOm\Generator\Utils\SchemaUtil::createField PHP Method

createField() public static method

public static createField ( $field )
    public static function createField($field)
    {
        $fieldName = $field['fieldName'];
        $databaseInputStr = $field['databaseInputs'];
        $databaseInputs = explode(':', $databaseInputStr);
        $fieldTypeParams = explode(',', array_shift($databaseInputs));
        $fieldType = array_shift($fieldTypeParams);
        $fieldStr = '$table->' . $fieldType . "('" . $fieldName . "'";
        if (count($fieldTypeParams) > 0) {
            $fieldStr .= ', ' . implode(' ,', $fieldTypeParams);
        }
        if ($fieldType == 'enum') {
            $inputsArr = explode(',', $field['htmlTypeInputs']);
            $inputArrStr = GeneratorFieldsInputUtil::prepareValuesArrayStr($inputsArr);
            $fieldStr .= ', ' . $inputArrStr;
        }
        $fieldStr .= ')';
        if (count($databaseInputs) > 0) {
            foreach ($databaseInputs as $databaseInput) {
                $databaseInput = explode(',', $databaseInput);
                $type = array_shift($databaseInput);
                $fieldStr .= "->{$type}(" . implode(',', $databaseInput) . ')';
            }
        }
        $fieldStr .= ';';
        return $fieldStr;
    }

Usage Example

 private function generateFields()
 {
     $fields = ["\$table->increments('id');"];
     foreach ($this->commandData->inputFields as $field) {
         if ($field['fieldName'] == "id") {
             continue;
         }
         $fields[] = SchemaUtil::createField($field);
     }
     $fields[] = "\$table->timestamps();";
     if ($this->commandData->getOption('softDelete')) {
         $fields[] = "\$table->softDeletes();";
     }
     return implode("\n\t\t\t", $fields);
 }
All Usage Examples Of InfyOm\Generator\Utils\SchemaUtil::createField
SchemaUtil