I have this route:
Route::get('/MyModel/{id}', 'MyController@show');
The method show()
accepts a parameter called id
and I want to setup an alias for /MyModel/1
so it’s accesible from /MyCustomURL
.
I already tried a few combinations, like:
Route::get('/MyCustomURL', ['uses' => 'MyController@show', 'id' => 1]);
But I keep getting missing required argument error for method show()
.
Is there a clean way to achieve this in Laravel?
Advertisement
Answer
In Laravel 5.4 (or maybe earlier) you can use defaults
function in your routes file.
Here is example:
Route::get('/alias', 'MyController@show')->defaults('id', 1);
In this case you don’t need to add additional method in your controller.