public function getInputFields() { $fields = []; $this->commandObj->info('Specify fields for the model (skip id & timestamp fields, will be added automatically)'); $this->commandObj->info('Enter exit to finish'); while (true) { $fieldInputStr = $this->commandObj->ask('Field: (field_name:field_database_type)', ''); if (empty($fieldInputStr) || $fieldInputStr == false || $fieldInputStr == 'exit') { break; } if (!GeneratorUtils::validateFieldInput($fieldInputStr)) { $this->commandObj->error('Invalid Input. Try again'); continue; } $type = $this->commandObj->ask('Enter field html input type (text): ', 'text'); $validations = $this->commandObj->ask('Enter validations: ', false); $validations = $validations == false ? '' : $validations; $fields[] = GeneratorUtils::processFieldInput($fieldInputStr, $type, $validations); } return $fields; }