return back()在没有会话参数的Laravel中


return back() in Laravel without session params

我在一个使用Laravel 5:的项目中有这段代码

return back()->with('msg_ok','successfully sent');

param msg_ok是在会话中推送的,但我不想使用会话参数,我想将msg_ok参数作为变量传递。

例如,我想在我的刀片文件中打印这个:

{{ $msg_ok }}
Laravel back()函数将始终返回Session中的数据。通常情况下,不能使用back()函数返回变量。为此,您必须使用view()函数。

备用解决方案您可以使用keep()函数将数据存储在类似会话的变量中。刷新后不会刷新。

例如
$request->session()->keep(['username','email']);

然后用key获取数据。

Laravelback()会将您从提交表单重定向回来,并用('msg_ok','successive..')返回()->;

如果你把一个项目放在back()->with();它将自动放置值内部会议。

您可以使用return redirect()->to('url/path?msg_ok=successfully')将查询字符串参数添加到url以将其作为变量传递。

然后在重定向到的控制器上将Request类注入到方法中

例如

public function index(Request $request) {
    $msg_ok = $request->get('msg_ok', '');
    return view('view.blade', compact('msg_ok'));
}

将变量字符串放在紧凑中,以便视图可以访问它。

您可以在刀片文件中使用Session::get('msg_ok')。或者在控制器中显式地将变量传递给视图,如return view()->make('view', ['msg_ok' => session()->get('msg_ok')]);