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