Create resource route in Laravel without certain m

2019-07-09 05:32发布

问题:

I'm building my web application with some AJAX and I'm not using all the methods from a resource controller. Is it possible to create a resource controller without some methods with php artisan? Thanks

回答1:

You may specify which routes you would like to be included for the resource by passing an argument to the route definition like so:

Route::resource('photo', 'PhotoController', ['only' => [
    'index', 'show'
]]);

When you run the artisan generator you will still get all the methods, but you can just delete them. If you were to create a custom command to only create certain methods, you would still need to keep in mind that Route::resource expects all resource routes by default.



回答2:

If you check out the API docs about ControllerMakeCommand you will see that it has only one option. So it's not possible to generate a controller without certain methods with the command that's shipped with laravel.

https://laravel.com/api/5.2/Illuminate/Routing/Console/ControllerMakeCommand.html

However you can make a command yourself that will accept arguments and based on your arguments it will generate a controller with only specified method.

Laravel docs on how to create a custom command