Laravel 5 为特定 link 制定路线

Laravel 5 making a route for a specific link

我有一个 link 去往像

这样的地址

http://localhost/pages/vehicles?show=61

是否可以为这种情况制定路线 link 我在路线下面很累,但它不起作用

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');

然后无论你需要做什么。否则,像我一样 "hack" 或 javascript (我假设您是从表单发送的)。

不需要在路由中放置查询参数。因此,请尝试不使用该部分。

Route::get('/pages/vehicles', ['middleware' => ['roles'], 'uses' => 'PagesController@show', 'roles' => ['Admin']]);

您可以在您的控制器方法中获取查询参数,如下所示并进行处理。

$id = Request::input('show');

您可以在请求中包含任意数量的查询参数 url。但不需要在路由路径中定义它们。但是,如果您希望查询参数(在您的情况下为 id)作为请求的一部分 url,则必须在路由路径中定义它。例如,如果您的 url 想成为 http://localhost/pages/vehicles/61,那么您的路由配置应如下所示。

Route::get('/pages/vehicles/{id}', ['middleware' => ['roles'], 'uses' => 'PagesController@show', 'roles' => ['Admin']]);