Laravel 5为特定链接制作路线

时间:2015-06-18 10:22:57

标签: laravel laravel-5 laravel-routing

我有一个链接转到

这样的地址
  

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

是否有可能为这种链接制作一条路线我在路线下累了,但是它不起作用

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

2 个答案:

答案 0 :(得分:2)

不需要在路由中放置查询参数。所以,请尝试没有那部分。

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

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

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

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

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

答案 1 :(得分:0)

我在尝试将表单直接发送到路径时遇到了类似的问题(使用/ pages / vehicles / 61之类的东西),但它似乎是不可能的(question here)

如果您没有针对所有车辆的特定路线(/页面/车辆没有显示车辆列表),您可以执行以下操作:

Route::get('pages/vehicles','PagesControler@show');

在你的控制器里面

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

然后你需要做什么。否则,一个" hack"就像我做的那样或javascript(我假设你是从表格中发送的)。