代码之家  ›  专栏  ›  技术社区  ›  user9465677

Laravel 5.7将值传递给控制器中的路由

  •  1
  • user9465677  · 技术社区  · 6 年前

    我的控制器发布表单以创建新页面。发布表单后,我需要将用户重定向到新页面,该页面将包含上一表单中输入的页面内容。如果我真的回来 view('mynewpageview', compact('mycontent')); 其中my my Content是用于执行 $mycontent->save(); 命令时,我冒着有人刷新url从而通过创建新页面两次发布相同内容的风险。

    我的路线是 Route::get('/newpage/{id}', 'PageController@pagebyid'); 如果我使用 return redirect()->route('/newpage/$pageid'); 哪里 $pageid = $mycontent->id;

    2 回复  |  直到 6 年前
        1
  •  0
  •   user9465677    6 年前

    对我有效的正确答案是-

    1. 在路由文件中为路由指定名称

    返回重定向()->路由('newpageid',['id'=>$pageid]);

        2
  •  -1
  •   Gras Double    6 年前

    return redirect('/newpage/'.$pageid);

    您已经发现您可以选择使用 named routes .

    最后但并非最不重要的是,感谢您考虑了“双重提交”问题!您实际上已经实现了 PRG pattern :)