| @@ 92-116 (lines=25) @@ | ||
| 89 | * |
|
| 90 | * @param Virtual $metadata Entity metadata |
|
| 91 | */ |
|
| 92 | protected function createMethods($metadata) |
|
| 93 | { |
|
| 94 | $methods = []; |
|
| 95 | // TODO: Add different method generation depending on their field type |
|
| 96 | // Generate Query::where() analog for specific field. |
|
| 97 | foreach ($metadata->allFieldIDs as $fieldID => $fieldName) { |
|
| 98 | $code = "\n\t" . '/**'; |
|
| 99 | $code .= "\n\t" . ' * Add '.$fieldName.'(#' . $fieldID . ') field query condition.'; |
|
| 100 | $code .= "\n\t" . ' * @see Generic::where()'; |
|
| 101 | $code .= "\n\t" . ' * @param ' . $metadata->allFieldTypes[$fieldID] . ' $value Field value'; |
|
| 102 | $code .= "\n\t" . ' * @param string $relation Field to value condition relation'; |
|
| 103 | $code .= "\n\t" . ' *'; |
|
| 104 | $code .= "\n\t" . ' * @return $this Chaining'; |
|
| 105 | $code .= "\n\t" . ' */'; |
|
| 106 | $code .= "\n\t" . 'public function ' . $fieldName . '($value, $relation = ArgumentInterface::EQUAL)'; |
|
| 107 | $code .= "\n\t" . '{'; |
|
| 108 | $code .= "\n\t\t" . 'return $this->where(\'' . $fieldName . '\', $value, $relation);'; |
|
| 109 | $code .= "\n\t" . '}'; |
|
| 110 | ||
| 111 | $methods[] = $code; |
|
| 112 | } |
|
| 113 | ||
| 114 | // Add method text to generator |
|
| 115 | $this->generator->text(implode("\n", $methods)); |
|
| 116 | } |
|
| 117 | } |
|
| 118 | //[PHPCOMPRESSOR(remove,end)] |
|
| 119 | ||
| @@ 97-120 (lines=24) @@ | ||
| 94 | * |
|
| 95 | * @param Virtual $metadata Entity metadata |
|
| 96 | */ |
|
| 97 | protected function createMethods($metadata) |
|
| 98 | { |
|
| 99 | $methods = []; |
|
| 100 | // TODO: Add different method generation depending on their field type |
|
| 101 | // Generate Query::where() analog for specific field. |
|
| 102 | foreach ($metadata->allFieldIDs as $fieldID => $fieldName) { |
|
| 103 | $code = "\n\t" . '/**'; |
|
| 104 | $code .= "\n\t" . ' * Get collection of ' . $fieldName . '(#' . $fieldID . ') table column values.'; |
|
| 105 | $code .= "\n\t" . ' * @see \samsoncms\api\field\Table::values($fieldID)'; |
|
| 106 | $code .= "\n\t" . ' * @param string $relation Field to value condition relation'; |
|
| 107 | $code .= "\n\t" . ' *'; |
|
| 108 | $code .= "\n\t" . ' * @return ' . $metadata->allFieldTypes[$fieldID] . '[] ' . $fieldName . ' values collection'; |
|
| 109 | $code .= "\n\t" . ' */'; |
|
| 110 | $code .= "\n\t" . 'public function ' . $fieldName . '()'; |
|
| 111 | $code .= "\n\t" . '{'; |
|
| 112 | $code .= "\n\t\t" . 'return $this->values(' . $fieldID . ');'; |
|
| 113 | $code .= "\n\t" . '}'; |
|
| 114 | ||
| 115 | $methods[] = $code; |
|
| 116 | } |
|
| 117 | ||
| 118 | // Add method text to generator |
|
| 119 | $this->generator->text(implode("\n", $methods)); |
|
| 120 | } |
|
| 121 | ||
| 122 | /** |
|
| 123 | * Class constructor generation part. |
|