【问题标题】:return redirect()->route with request not parameter in laravel?在laravel中返回redirect()->带有请求而不是参数的路由?
【发布时间】:2021-09-21 10:46:45
【问题描述】:

我有一个名为 Direction 的函数,它接受请求并在条件为真时重定向到以下视图。这是代码

   public function direction(Request $request)
{
    $activity_id=$request->id;
    $activity_type=Activity::where('id',$activity_id)->pluck('type');
    if($activity_type[0]=='event')
     {

     return redirect()->route('getActivity',compact('activity_id'));
     }
    
    else{
         echo "please select valid id ";
     }
}

它工作得很好,但我喜欢在另一个表中保存一些数据后使用相同的功能。并重定向到我使用的以下内容

return  redirect()->route('progress.direction',$activity_id)->with('message','Save Successfully!');

它重定向唯一没有作为请求获得的参数http://localhost:8000/progress/direction?1ac27656-0da2-4dc7-a3f9-3604e002db91。 我的问题是如何将以下参数作为来自控制器的请求发送。

【问题讨论】:

  • 你能显示progress.direction路线吗
  • Route::post('/progress/direction','ProgressReportController@direction')->name('progress.direction');

标签: laravel laravel-routing laravel-controller


【解决方案1】:

你必须像下面这样修改你的路线

Route::any('/progress/direction/{direction?}','ProgressReportController@direction')->name('progress.direction');

这里我添加了问号,这意味着它是可选的。如果你不需要可选的,那么你可以删除问号

【讨论】:

  • 保存数据后如何重定向返回redirect()->route('progress.direction',$activity_id)->with('message','保存成功!');我使用 compact 像 compact('activity_id') 一样显示localhost:8000/progress/…
  • 尝试返回redirect()->route('progress.direction',$activity_id)->with('message','保存成功!');
  • 我先用了两次方向功能,保存数据后才有效,我想重定向它不显示
  • 错误此路由不支持 GET 方法。支持的方法:POST。
  • @ismailkhan 方法应该在重定向时获取。如果你想要获取和发布,那么你可以使用任何或匹配
猜你喜欢
  • 2019-06-27
  • 2017-07-21
  • 2018-08-05
  • 2017-04-29
  • 1970-01-01
  • 2011-03-13
  • 2016-08-31
  • 1970-01-01
相关资源
最近更新 更多