InfyOm\Generator\Generators\ModelGenerator::generateCasts PHP Method

generateCasts() public method

public generateCasts ( )
    public function generateCasts()
    {
        $casts = [];
        $timestamps = TableFieldsGenerator::getTimestampFieldNames();
        foreach ($this->commandData->inputFields as $field) {
            if (in_array($field['fieldName'], $timestamps)) {
                continue;
            }
            switch ($field['fieldType']) {
                case 'integer':
                    $rule = "'" . $field['fieldName'] . "' => 'integer'";
                    break;
                case 'double':
                    $rule = "'" . $field['fieldName'] . "' => 'double'";
                    break;
                case 'float':
                    $rule = "'" . $field['fieldName'] . "' => 'float'";
                    break;
                case 'boolean':
                    $rule = "'" . $field['fieldName'] . "' => 'boolean'";
                    break;
                case 'dateTime':
                case 'dateTimeTz':
                    $rule = "'" . $field['fieldName'] . "' => 'datetime'";
                    break;
                case 'date':
                    $rule = "'" . $field['fieldName'] . "' => 'date'";
                    break;
                case 'enum':
                case 'string':
                case 'char':
                case 'text':
                    $rule = "'" . $field['fieldName'] . "' => 'string'";
                    break;
                default:
                    $rule = '';
                    break;
            }
            if (!empty($rule)) {
                $casts[] = $rule;
            }
        }
        return $casts;
    }