繁体   English   中英

Laravel使用Request对象重定向到控制器动作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM