我在Laravel 5的项目中有这个代码:
return back()->with('msg_ok','successfully sent');
在会话中推送param msg_ok
,但我不想使用会话参数,我想将msg_ok参数作为变量传递。
例如,我想在我的刀片文件中打印:
{{ $msg_ok }}
答案 0 :(得分:0)
Laravel back()
函数将始终返回Session
中的数据。通常,您无法使用back()
函数返回变量。你必须使用view()
函数。
替代解决方案
您可以使用keep()
函数在会话中存储数据,如变量。刷新后不会刷新。
<强> e.g 强>
$ request-&gt; session() - &gt; keep(['username','email']);
然后用密钥获取数据。
答案 1 :(得分:-1)
Laravel back()会将您从提交的表单重定向回来, 和back() - &gt; with('msg_ok','success ..');
如果您将项目放在back() - &gt; with();它会自动放置值 内部会议。
您可以使用return redirect()->to('url/path?msg_ok=successfully')
将查询字符串参数添加到url以将其作为变量传递。
然后在您重定向的控制器上将Reqest类注入您的方法
e.g
public function index(Request $request) {
$msg_ok = $request->get('msg_ok', '');
return view('view.blade', compact('msg_ok'));
}
将变量字符串放在契约中,以使其可供您查看。
答案 2 :(得分:-2)
您可以在刀片文件中使用Session::get('msg_ok')
。或者在控制器中显式地将变量传递给视图,例如
return view()->make('view', ['msg_ok' => session()->get('msg_ok')]);