Laravel查询字符串与获取参数


Laravel Query String vs Get Parameters?

我使用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']);
}

试试这个:

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

试试这个。希望它能起作用。

      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());
          }
       });