簡體   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