[英]Laravel redirect to controller action with Request object
在Laravel 5.6应用程序中,我有一个控制器来管理产品树。 getTree()方法从数据库构建树,updateTree()对其进行修改。 这两种方法都是通过接受请求参数的ajax调用的:
刀:
$.get("{{ URL::to('api/gettree') }}", {
data: $("#data").val()
}, function(response) { ... });
$.post("{{ URL::to('api/updatetree') }}", {
data: $("#data").val()
}, function(response) { ... });
路线:
Route::get("/gettree", "TreeController@getTree");
Route::post("/updatetree", "TreeController@updateTree");
控制器:
class TreeController extends Controller
{
public function updateTree(Request $request)
{
... process $request->input() ...
return redirect()->action("TreeController@getTree");
}
public function getTree(Request $request)
{
...
return view("admin.partials.itemtree", compact("data"));
}
...
}
我想要实现的是在updateTree()运行后通过重定向到控制器操作来触发getTree()方法,但是这种方式使我无法传递getTree()期望的Request对象。 您将如何处理? 预先感谢!
如果签出action
方法的签名 ,则第二个参数用于参数。
因此,您可以像这样传递参数:
return redirect()->action("TreeController@getTree", [$request]);
另外,您可以从getTree
方法中删除Request $request
参数,而只需使用类似$request = request()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.