【问题标题】:How to use return redirect in laravel controller如何在 laravel 控制器中使用返回重定向
【发布时间】:2019-12-04 08:55:15
【问题描述】:
public function getleaveType(Request $request){
        $leave_types = leaveType::all();

        //create leave-type
        if($request->isMethod('POST')){
            $leave_Type = new leaveType;
            $leave_Type->leave_type = $request->input('leaveType');
            $leave_Type->staff_type = $request->input('staffType');
            $leave_Type->leave_days = $request->input('leaveDays');
            $leave_Type->leave_description = $request->input('leaveDescription');
            $leave_Type->save();
        }

        return redirect('leave/leaveType', ['leave_t' => $leave_types]);
    }

【问题讨论】:

  • 一直在尝试使用返回重定向,但它没有按预期重新加载页面。我得到的错误消息是“HTTP 状态代码“1”无效”。
  • redirect 的第二个参数是状态(整数).. 你想通过传递该数组来做什么?还有为什么这个单一的方法要处理多个 HTTP 方法?
  • leave/leaveType 是我要重定向到的页面,而 ['leave_t' => $leave_types] 是在表上显示从数据库中获取的一些信息
  • 您重定向到的地方应该处理该数据...提供您尝试重定向到的地方的代码
  • 首先检查你在$leave_types得到了什么?

标签: php laravel redirect return


【解决方案1】:

看起来您正在将数据 $leave_types 传递给 route 而不是 view

应该是这样的

 return view('view_name', ['leave_t' => $leave_types]);

 return view('view_name')->with('leave_t',$leave_types);

编辑:

试试这个

    public function getleaveType(Request $request){

    //create leave-type
    if($request->isMethod('POST')){
        $leave_Type = new leaveType;
        $leave_Type->leave_type = $request->input('leaveType');
        $leave_Type->staff_type = $request->input('staffType');
        $leave_Type->leave_days = $request->input('leaveDays');
        $leave_Type->leave_description = $request->input('leaveDescription');
        $leave_Type->save();
    }
    $leave_types = leaveType::all();
    return view('view_name')->with('leave_t',$leave_types);
}

【讨论】:

  • 请解释您所做的更改以及为什么要进行这些更改,而不是只说“试试这个”,谢谢
  • @lagbox 我已经在save()之后的末尾获取了leaveType,所以它会获取新添加的记录。
  • 它不适合我,将其添加到答案中
  • 已经尝试过这个并且它的工作但是当我向表中添加新数据时它不会显示最后的数据直到我重新加载页面
  • 这就是为什么您必须在答案中指出您所做的更改以及原因
【解决方案2】:
return redirect()->route('leave/leaveType')->with( ['leave_t' => $leave_types]);

尝试像上面那样使用重定向并使用with函数封装你想要传递的值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-10
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    相关资源
    最近更新 更多