【发布时间】:2016-03-18 05:54:56
【问题描述】:
以下是路线
Route::get('{value1}/{optvalue1?}/{optvalue2?}/{value2}/{value3}/',
[
'uses' => 'Controller@control',
'as' => 'path_route'
]
);
我的控制器设置如下
function redirectSearchRequest(){
return redirect()->route('path_route', [
$value1,
isset($optvalue1) ? $optvalue1 : '',
isset($optvalue2) ? $optvalue2 : '',
$value2,
$value3
]);
}
public function control($value1, $iptvalue1 = null, $optvalue2 = null, $value2, $value3)
{
//process accordingly
}
现在的问题是
如果我有一个看起来像http://example.com/value1/optvalue1/optvalue2/value2/value3 的url。它可以正常工作,但 url 有时可能没有 optvlaue1 和 optvalue2 并且路由返回 http://example.com/value1////value2/value3,正如预期的 laravel 抛出 NotFoundHttpException。
此问题的更多信息Option 变量并不总是存在,但当它们存在时,它们应该与路由的设置方式完全相同。我无法更改顺序:(。
希望我足够清楚。 为你的帮助干杯。
【问题讨论】: