我想为路由命名几个类别,它们都使用相同的控制器操作,因此我将它们分组,并做了我认为可行的事情,但是没有。如果我只有一条路线,它会起作用,但是当我添加其他路线时会中断。我对Laravel还是陌生的,所以这并不令我感到惊讶-这样的路由似乎有点肮脏,但是我发现很多帖子都提倡许多硬编码的路由。
web.php
Route::group(['prefix' => 'categories', 'as' => 'categories.'], function () {
Route::get('/', 'CategoryController@index')->name('categories');
Route::get('/{category}', 'CategoryController@show')->where('category', 'amusement-rides')->name('amusement-rides');
Route::get('/{category}', 'CategoryController@show')->where('category', 'arts-and-crafts')->name('arts-and-crafts');
Route::get('/{category}', 'CategoryController@show')->where('category', 'carnival-booths')->name('carnival-booths');
Route::get('/{category}', 'CategoryController@show')->where('category', 'carnival-games')->name('carnival-games');
Route::get('/{category}', 'CategoryController@show')->where('category', 'concession-machine-rental')->name('concession-machine-rental');
Route::get('/{category}', 'CategoryController@show')->where('category', 'equipment-rentals')->name('equipment-rentals');
Route::get('/{category}', 'CategoryController@show')->where('category', 'events')->name('events');
});
答案 0 :(得分:2)
您的web.php文件应该喜欢。
Web.php
choice_action_map[int(input())]()
在您的浏览器中,称为的URL。
URL
Route::group(['prefix' => 'categories', 'as' => 'categories.'], function () {
Route::get('/', 'CategoryController@index')->name('categories');
Route::get('/{category}', 'CategoryController@show')->name('show');
});
最后,如果要访问控制器中的类别名称,则可以使用类似参数的方式进行访问。
控制器
http://baseurl/categories/amusement-rides
http://baseurl/categories/arts-and-crafts
http://baseurl/categories/carnival-booths
http://baseurl/categories/carnival-games
http://baseurl/categories/concession-machine-rental
http://baseurl/categories/equipment-rentals
http://baseurl/categories/equipment-rentals