diff --git a/packages/panels/src/Commands/MakeResourceCommand.php b/packages/panels/src/Commands/MakeResourceCommand.php index 76bafcc837d..1cf70483f87 100644 --- a/packages/panels/src/Commands/MakeResourceCommand.php +++ b/packages/panels/src/Commands/MakeResourceCommand.php @@ -239,8 +239,7 @@ class_exists($potentialCluster) && 'formSchema' => $this->indentString($this->option('generate') ? $this->getResourceFormSchema( $modelNamespace . ($modelSubNamespace !== '' ? "\\{$modelSubNamespace}" : '') . '\\' . $modelClass, ) : '//', 4), - 'model' => ($model === 'Resource') ? "{$modelNamespace}\\Resource as ResourceModel" : "{$modelNamespace}\\{$model}", - 'modelClass' => ($model === 'Resource') ? 'ResourceModel' : $modelClass, + ...$this->generateModel($model, $modelNamespace, $modelClass), 'namespace' => $namespace, 'pages' => $this->indentString($pages, 3), 'relations' => $this->indentString($relations, 1), @@ -324,4 +323,23 @@ class_exists($potentialCluster) && return static::SUCCESS; } + + /** + * @return array + */ + protected function generateModel(string $model, string $modelNamespace, string $modelClass): array + { + $possibilities = ['Form', 'Table', 'Resource']; + $params = []; + + if (in_array($model, $possibilities)) { + $params['model'] = "{$modelNamespace}\\{$model} as {$model}Model"; + $params['modelClass'] = $model . 'Model'; + } else { + $params['model'] = "{$modelNamespace}\\{$model}"; + $params['modelClass'] = $modelClass; + } + + return $params; + } }