diff --git a/src/CrudMake.php b/src/CrudMake.php index 193d284..69880f6 100644 --- a/src/CrudMake.php +++ b/src/CrudMake.php @@ -324,9 +324,20 @@ class CrudMake extends Command $controllerFileContent = $this->replaceStubString($stub); if (! is_null($parentName = $this->option('parent'))) { + + $searches = [ + 'App\Http\Controllers;', + "use {$this->modelNames['full_model_name']};\n" + ]; + + $replacements = [ + "App\Http\Controllers\\{$parentName};", + "use {$this->modelNames['full_model_name']};\nuse App\Http\Controllers\Controller;\n" + ]; + $controllerFileContent = str_replace( - 'App\Http\Controllers', - 'App\Http\Controllers\\'.$parentName, + $searches, + $replacements, $controllerFileContent ); } @@ -458,7 +469,7 @@ class CrudMake extends Command $webRouteFileContent = str_replace( $pluralModelName.'Controller', - $parentName.'/'.$pluralModelName.'Controller', + $parentName.'\\'.$pluralModelName.'Controller', $webRouteFileContent ); } diff --git a/tests/Generators/ControllerGeneratorTest.php b/tests/Generators/ControllerGeneratorTest.php index 05bbb24..08f9e22 100644 --- a/tests/Generators/ControllerGeneratorTest.php +++ b/tests/Generators/ControllerGeneratorTest.php @@ -213,6 +213,7 @@ class CategoriesController extends Controller namespace App\Http\Controllers\Projects; use App\Entities\References\Category; +use App\Http\Controllers\Controller; use Illuminate\Http\Request; class CategoriesController extends Controller diff --git a/tests/Generators/RouteWebGeneratorTest.php b/tests/Generators/RouteWebGeneratorTest.php index eda0b04..446eddf 100644 --- a/tests/Generators/RouteWebGeneratorTest.php +++ b/tests/Generators/RouteWebGeneratorTest.php @@ -29,7 +29,7 @@ Route::apiResource('{$this->table_name}', '{$this->plural_model_name}Controller' $this->assertFileExists($routeWebPath); $routeWebFileContent = "table_name}', 'Projects/{$this->plural_model_name}Controller'); +Route::apiResource('{$this->table_name}', 'Projects\\{$this->plural_model_name}Controller'); "; $this->assertEquals($routeWebFileContent, file_get_contents($routeWebPath)); }