|
2 | 2 |
|
3 | 3 | namespace Mehradsadeghi\CrudGenerator;
|
4 | 4 |
|
5 |
| -use Illuminate\Routing\Console\ControllerMakeCommand; |
6 |
| -use Illuminate\Support\Facades\File; |
7 |
| -use Illuminate\Support\Facades\Schema; |
| 5 | +use Exception; |
8 | 6 | use Illuminate\Support\Str;
|
9 | 7 | use Illuminate\Support\Facades\DB;
|
10 |
| -use Symfony\Component\Console\Input\InputArgument; |
| 8 | +use Illuminate\Support\Facades\File; |
| 9 | +use Illuminate\Support\Facades\Schema; |
11 | 10 | use Symfony\Component\Console\Input\InputOption;
|
| 11 | +use Symfony\Component\Console\Input\InputArgument; |
| 12 | +use Illuminate\Routing\Console\ControllerMakeCommand; |
12 | 13 |
|
13 | 14 | class CrudGeneratorMakeCommand extends ControllerMakeCommand {
|
14 | 15 |
|
@@ -38,7 +39,31 @@ protected function buildClass($name) {
|
38 | 39 | }
|
39 | 40 |
|
40 | 41 | protected function buildModelReplacements(array $replace) {
|
41 |
| - $replacements = parent::buildModelReplacements($replace); |
| 42 | + $modelClass = $this->parseModel($this->option('model')); |
| 43 | + |
| 44 | + try { |
| 45 | + if (! class_exists($modelClass)) { |
| 46 | + if ($this->confirm("A {$modelClass} model does not exist. Do you want to generate it?", true)) { |
| 47 | + $this->call('make:model', ['name' => $modelClass]); |
| 48 | + } |
| 49 | + } |
| 50 | + } catch (Exception $exception) { |
| 51 | + if ($this->confirm("A {$modelClass} model does not exist. Do you want to generate it?", true)) { |
| 52 | + $this->call('make:model', ['name' => $modelClass]); |
| 53 | + } |
| 54 | + } |
| 55 | + |
| 56 | + $replacements = array_merge($replace, [ |
| 57 | + 'DummyFullModelClass' => $modelClass, |
| 58 | + '{{ namespacedModel }}' => $modelClass, |
| 59 | + '{{namespacedModel}}' => $modelClass, |
| 60 | + 'DummyModelClass' => class_basename($modelClass), |
| 61 | + '{{ model }}' => class_basename($modelClass), |
| 62 | + '{{model}}' => class_basename($modelClass), |
| 63 | + 'DummyModelVariable' => lcfirst(class_basename($modelClass)), |
| 64 | + '{{ modelVariable }}' => lcfirst(class_basename($modelClass)), |
| 65 | + '{{modelVariable}}' => lcfirst(class_basename($modelClass)), |
| 66 | + ]); |
42 | 67 |
|
43 | 68 | return [
|
44 | 69 | '{{ modelPluralVariable }}' => Str::plural(lcfirst(class_basename($this->option('model')))),
|
@@ -175,7 +200,7 @@ private function modelHasSchemaAndGuarded($model)
|
175 | 200 | private function isConnectedToDatabase() {
|
176 | 201 | try {
|
177 | 202 | DB::connection()->getPdo();
|
178 |
| - } catch (\Exception $e) { |
| 203 | + } catch (Exception $e) { |
179 | 204 | return false;
|
180 | 205 | }
|
181 | 206 | }
|
|
0 commit comments