Laravel查询字符串与获取参数?

时间:2016-05-12 07:38:21

标签: php laravel-5 routing laravel-5.2

我使用Laravel框架,我根据不同的条件参数添加路线。

目前,我正在使用此代码。

Route::get('/{report?}/{type?}', [
    'uses' => 'SomeController@getReport'
])->where(['report' => 'overview', 'type' => 'type1']);
www.example.com/overview/type1  // Working
www.example.com?report=overview&type=type1 // Not working (not verifying the where conditions).

我有另一个解决方案来解决这个问题。这是一种更好的方法吗?

if (Input::get('report') == 'overview' && Input::get('type') == 'type1') {
    Route::get('/', ['uses' => 'SomeController@getReport']);
}

2 个答案:

答案 0 :(得分:0)

试试这个:

if (request()->get('report') == 'overview'
   && request()->get('type') == 'type1') {
   Route::get('/', [
     'uses' => 'SomeController@getReport'
   );
}

答案 1 :(得分:0)

尝试一下。希望它能工作。

      Route::get('/{report?}/{type?}', function()
       {
          if (Input::get('report') == 'overview'
                && Input::get('type') == 'type1') {
              // Run controller and method
              $app = app();
              $controller = $app->make('SomeController');
              return $controller->callAction('getReport', $parameters = array());
          }
       });