【问题标题】:Laravel Route basic: Get a route with old fashioned php paramsLaravel Route basic:使用老式 php 参数获取路由
【发布时间】:2014-10-26 14:39:03
【问题描述】:

我希望能够得到这样的路线:http://something.com/search?q=random_search

当我这样做时:

Route::get('search/{q}', function($q) {
    return $q;
});

它会回复http://something.com/search/random_search,但它似乎不符合我的预期。

【问题讨论】:

    标签: laravel laravel-4 laravel-routing


    【解决方案1】:

    在没有{q} 和名称的情况下注册您的路线。

    使用闭包:

    Route::get('search', ['as' => 'search', function(){
        $q = Input::get('q');
        return $q;
    }]);
    

    使用控制器:

    Route::get('search', ['as' => 'search', 'uses' => 'SearchController@yourMethod']);
    

    然后按名称调用路由:

    route('search', ['q' => 'search query']); // /search?q=search%20query
    

    URL::route('search', ['q' => 'search query']);
    

    【讨论】:

    • 完美!并使用$q 参数调用SearchController 方法?
    • 如果您使用的是控制器,请将闭包替换为 'uses' => '...'。请参阅我的更新答案。你仍然需要在你的控制器方法中使用Input::get('q')
    【解决方案2】:

    如果你真的热衷于使用 URL GET:

    Route::get('search', function() {
        $q = Input::get('q');
        return $q;
    });
    

    【讨论】:

      猜你喜欢
      • 2015-07-22
      • 2020-06-25
      • 2021-08-07
      • 1970-01-01
      • 2015-01-14
      • 2014-05-29
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      相关资源
      最近更新 更多