| @@ 58-92 (lines=35) @@ | ||
| 55 | * |
|
| 56 | * @return $this |
|
| 57 | */ |
|
| 58 | public function getInputFields(){ |
|
| 59 | ||
| 60 | $inputFields = $eagerFields = ''; |
|
| 61 | ||
| 62 | foreach ($this->modelData->fields as $field) |
|
| 63 | { |
|
| 64 | $fieldStub = $this->getInputStubByField($field); |
|
| 65 | ||
| 66 | if($field->foreignKey){ |
|
| 67 | $fieldStub = $this->replaceForeingStrings($field, $fieldStub) ; |
|
| 68 | $fieldStub = str_replace('{{foreign_model_name}}', strtolower(CamelCase::convertToCamelCase($field->foreignKey->table)), $fieldStub); |
|
| 69 | } |
|
| 70 | ||
| 71 | $inputFields .= $this->replaceFieldInput($field, $fieldStub) ; |
|
| 72 | ||
| 73 | // Check foreign key |
|
| 74 | if ($field->foreignKey && isset($field->foreignKey->eager) && $field->foreignKey->eager) |
|
| 75 | { |
|
| 76 | // search eager fields |
|
| 77 | $foreignModelData = $this->getModelData($field->foreignKey->table); |
|
| 78 | $foreignControllerCompiler = new ListTemplateCompiler($this->scaffolderConfig, $foreignModelData); |
|
| 79 | $foreignControllerCompiler->setEagerTable($this->modelData->tableName); |
|
| 80 | $eagerFields .= $foreignControllerCompiler->getInputFields(); |
|
| 81 | } |
|
| 82 | ||
| 83 | } |
|
| 84 | ||
| 85 | // replace table name |
|
| 86 | $inputFields = str_replace('{{table_name}}', $this->modelData->tableName, $inputFields); |
|
| 87 | ||
| 88 | $this->stub = str_replace('{{eager_objects_inputs}}', $eagerFields, $this->stub); |
|
| 89 | ||
| 90 | return $inputFields ; |
|
| 91 | ||
| 92 | } |
|
| 93 | ||
| 94 | /** |
|
| 95 | * replace field stub with fields and validations |
|
| @@ 59-94 (lines=36) @@ | ||
| 56 | * |
|
| 57 | * @return $this |
|
| 58 | */ |
|
| 59 | public function getInputFields(){ |
|
| 60 | ||
| 61 | $inputFields = $eagerFields = ''; |
|
| 62 | ||
| 63 | foreach ($this->modelData->fields as $field) |
|
| 64 | { |
|
| 65 | $fieldStub = $this->getInputStubByField($field); |
|
| 66 | ||
| 67 | if($field->foreignKey){ |
|
| 68 | ||
| 69 | $fieldStub = $this->replaceForeingStrings($field, $fieldStub) ; |
|
| 70 | $fieldStub = str_replace('{{foreign_model_name}}', strtolower(CamelCase::convertToCamelCase($field->foreignKey->table)), $fieldStub); |
|
| 71 | } |
|
| 72 | ||
| 73 | $inputFields .= $this->replaceFieldInput($field, $fieldStub) ; |
|
| 74 | ||
| 75 | // Check foreign key |
|
| 76 | if ($field->foreignKey && isset($field->foreignKey->eager) && $field->foreignKey->eager) |
|
| 77 | { |
|
| 78 | // search eager fields |
|
| 79 | $foreignModelData = $this->getModelData($field->foreignKey->table); |
|
| 80 | $foreignControllerCompiler = new RegisterTemplateCompiler($this->scaffolderConfig, $foreignModelData); |
|
| 81 | $foreignControllerCompiler->setEagerTable($this->modelData->tableName); |
|
| 82 | $eagerFields .= $foreignControllerCompiler->getInputFields(); |
|
| 83 | } |
|
| 84 | ||
| 85 | } |
|
| 86 | ||
| 87 | // replace table name |
|
| 88 | $inputFields = str_replace('{{table_name}}', $this->modelData->tableName, $inputFields); |
|
| 89 | ||
| 90 | $this->stub = str_replace('{{eager_objects_inputs}}', $eagerFields, $this->stub); |
|
| 91 | ||
| 92 | return $inputFields ; |
|
| 93 | ||
| 94 | } |
|
| 95 | ||
| 96 | /** |
|
| 97 | * Replace belongs to many fields |
|