我在laravel 5中使用资源路由进行路由。我使用了代码,如下所示:
return Redirect::route('tquoted-eqs.create',['tqid'=>$tqid]);
我希望使用$tid=6
方法在命名路由tquoted-eqs.create
上设置传递值GET
。现在,网址应如下所示
http://localhost/project/tquoted-eqs/create?tqid=16
,而是显示
http://localhost/medisup/tquoted-eqs/create?tqid%5B0%5D%5Bid%5D=16
。我也尝试使用
redirect()->route('tquoted-eqs.create',['tqid'=>$tqid])
但这也产生了同样尴尬的URL。这可能是什么问题?
答案 0 :(得分:1)
尝试使用
return Redirect::to(URL::to('tquoted-eqs.create', ['tqid'=>$tqid]));
答案 1 :(得分:1)
route()
方法中的第二个参数是为路由参数保留的:https://github.com/laravel/framework/blob/5.0/src/Illuminate/Routing/Redirector.php#L153
尝试手动添加查询字符串,即
return redirect(route('tquoted-eqs.create').'?tqid='.$tqid);
答案 2 :(得分:0)
你为什么不试试这个:
return Redirect::route('tquoted-eqs.create', [$tqid]);
从parameters数组中删除了键['tqid' =>
。希望它有所帮助。
答案 3 :(得分:0)
2017年3月,这似乎是使用Laravel 5.4的答案:
Route::get('/yourOldPath', function () {
return redirect()->route('someOtherRouteName', \Illuminate\Support\Facades\Input::all());//Input::all() is like $_GET
});