【问题标题】:Laravel 5 making a route for a specific linkLaravel 5为特定链接制作路线
【发布时间】:2015-09-03 22:30:02
【问题描述】:

我有一个链接,该链接指向类似

的地址

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

是否可以为那种我厌倦了路线但不起作用的那种链接创建路线

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

【问题讨论】:

    标签: laravel laravel-5 laravel-routing


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      在你的控制器内部

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

      然后你需要做什么。否则,像我一样的“黑客”或 javascript(我假设您是从表单发送的)。

      【讨论】:

        猜你喜欢
        • 2023-03-28
        • 2016-07-03
        • 2017-10-11
        • 1970-01-01
        • 2015-11-07
        • 2015-12-11
        • 1970-01-01
        • 2023-02-04
        • 1970-01-01
        相关资源
        最近更新 更多