Laravel 5为特定链路创建路由
我有一个链接,指向这样的地址 有没有可能为这种链接创建一条路径?我在路径下面累了,但它不起作用Laravel 5为特定链路创建路由,laravel,laravel-5,laravel-routing,Laravel,Laravel 5,Laravel Routing,我有一个链接,指向这样的地址 有没有可能为这种链接创建一条路径?我在路径下面累了,但它不起作用 Route::get('/pages/vehicles?show={id}', ['middleware' => ['roles'], 'uses' => 'PagesController@show', 'roles' => ['Admin']]); 我在尝试将表单直接发送到路线时遇到了类似的问题(使用/pages/vehicles/61之类的东西),但这似乎是不可能的 如果您没
Route::get('/pages/vehicles?show={id}', ['middleware' => ['roles'], 'uses' => 'PagesController@show', 'roles' => ['Admin']]);
我在尝试将表单直接发送到路线时遇到了类似的问题(使用/pages/vehicles/61之类的东西),但这似乎是不可能的 如果您没有所有车辆的特定路线(/pages/vehicles未显示车辆列表),您可以执行以下操作:
Route::get('pages/vehicles','PagesControler@show');
在你的控制器里
$show = Request::input('show');
然后,不管你需要做什么。否则,像我这样的“黑客”或javascript(我假设您是从表单发送的)。不需要在路由中放置查询参数。因此,请尝试不使用该部分
Route::get('/pages/vehicles', ['middleware' => ['roles'], 'uses' => 'PagesController@show', 'roles' => ['Admin']]);
您可以在如下所示的控制器方法中获取查询参数并进行处理
$id = Request::input('show');
在请求url中可以有任意数量的查询参数。但不需要在路由路径中定义它们。但是,如果希望查询参数(在您的示例中为id)作为请求url的一部分,则必须在路由路径中定义它。例如,如果您的url想要类似,那么您的路由配置应该如下所示
Route::get('/pages/vehicles/{id}', ['middleware' => ['roles'], 'uses' => 'PagesController@show', 'roles' => ['Admin']]);