private function fillSoftDeletes($templateData) { if (!$this->commandData->getOption('softDelete')) { $templateData = str_replace('$SOFT_DELETE_IMPORT$', '', $templateData); $templateData = str_replace('$SOFT_DELETE$', '', $templateData); $templateData = str_replace('$SOFT_DELETE_DATES$', '', $templateData); } else { $templateData = str_replace('$SOFT_DELETE_IMPORT$', "use Illuminate\\Database\\Eloquent\\SoftDeletes;\n", $templateData); $templateData = str_replace('$SOFT_DELETE$', "use SoftDeletes;\n", $templateData); $templateData = str_replace('$SOFT_DELETE_DATES$', "\n\tprotected \$dates = ['deleted_at'];\n", $templateData); } return $templateData; }
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); }
private function generateFields() { $fields = []; foreach ($this->commandData->inputFields as $field) { if ($field['fieldName'] == 'created_at' or $field['fieldName'] == 'updated_at') { continue; } $fields[] = SchemaUtil::createField($field); } $fields[] = '$table->timestamps();'; if ($this->commandData->getOption('softDelete')) { $fields[] = '$table->softDeletes();'; } return implode(infy_nl_tab(1, 3), $fields); }
public function generate() { $templateData = TemplateUtil::getTemplate('scaffold.controller.controller', 'laravel-generator'); $templateData = TemplateUtil::fillTemplate($this->commandData->dynamicVars, $templateData); $paginate = $this->commandData->getOption('paginate'); if ($paginate) { $templateData = str_replace('$RENDER_TYPE$', 'paginate(' . $paginate . ')', $templateData); } else { $templateData = str_replace('$RENDER_TYPE$', 'all()', $templateData); } $fileName = $this->commandData->modelName . 'Controller.php'; FileUtil::createFile($this->path, $fileName, $templateData); $this->commandData->commandComment("\nController created: "); $this->commandData->commandInfo($fileName); }
private function generateIndex() { $templateData = TemplateUtil::getTemplate('scaffold.views.index', $this->templateType); $templateData = TemplateUtil::fillTemplate($this->commandData->dynamicVars, $templateData); $paginate = $this->commandData->getOption('paginate'); if ($paginate) { $paginateTemplate = TemplateUtil::getTemplate('scaffold.views.paginate', $this->templateType); $paginateTemplate = TemplateUtil::fillTemplate($this->commandData->dynamicVars, $paginateTemplate); $templateData = str_replace('$PAGINATE$', $paginateTemplate, $templateData); } else { $templateData = str_replace('$PAGINATE$', '', $templateData); } $fileName = 'index.blade.php'; FileUtil::createFile($this->path, $fileName, $templateData); $this->commandData->commandInfo('index.blade.php created'); }
public function isSkip($skip) { if ($this->commandData->getOption('skip')) { return in_array($skip, (array) $this->commandData->getOption('skip')); } return false; }
private function fillTimestamps($templateData) { $timestamps = TableFieldsGenerator::getTimestampFieldNames(); $replace = ''; if ($this->commandData->getOption('fromTable')) { if (empty($timestamps)) { $replace = infy_nl_tab() . "public \$timestamps = false;\n"; } else { list($created_at, $updated_at) = collect($timestamps)->map(function ($field) { return !empty($field) ? "'{$field}'" : 'null'; }); $replace .= infy_nl_tab() . "const CREATED_AT = {$created_at};"; $replace .= infy_nl_tab() . "const UPDATED_AT = {$updated_at};\n"; } } return str_replace('$TIMESTAMPS$', $replace, $templateData); }