我在一个使用Laravel 5:的项目中有这段代码
return back()->with('msg_ok','successfully sent');
param msg_ok
是在会话中推送的,但我不想使用会话参数,我想将msg_ok参数作为变量传递。
例如,我想在我的刀片文件中打印这个:
{{ $msg_ok }}
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')]);