Php Laravel 8:为什么会议未提交
我想在我的控制器方法中添加一个类似这样的Php Laravel 8:为什么会议未提交,php,laravel,laravel-8,Php,Laravel,Laravel 8,我想在我的控制器方法中添加一个类似这样的警告会话: 返回视图('panel.step3',compact('factor','showStep'))->带有('warning','test!') 然后在查看面板的第3步中,我添加了以下内容:@dd(session('warning')) 但上面写着:空 那么这里出了什么问题?如何正确添加会话 我非常感谢你们的任何想法或建议 提前感谢。因为您只使用数据呈现视图,而没有重定向到另一个操作,所以您没有将任何内容放入会话。因为您只使用数据呈现视图,而没有
警告
会话:
返回视图('panel.step3',compact('factor','showStep'))->带有('warning','test!')代码>
然后在查看面板的第3步中,我添加了以下内容:@dd(session('warning'))
但上面写着:空
那么这里出了什么问题?如何正确添加会话
我非常感谢你们的任何想法或建议
提前感谢。因为您只使用数据呈现视图,而没有重定向到另一个操作,所以您没有将任何内容放入会话。因为您只使用数据呈现视图,而没有重定向到另一个操作,所以您没有将任何内容放入会话。使用()
方法根据链接的位置执行不同的操作。对于视图()
:
'variable'
将作为变量提供,$variable
,而不是通过会话会话()->get('variable')
在重定向()上使用with()
时:
然后,'variable'
可通过session()
使用,而不是作为$variable
使用
这是由于请求生命周期造成的;对于view()
,它是一个调用链,因此设置变量是可以接受的。对于redirect()
,它需要执行一个全新的请求,并通过session
逻辑完成跨调用的可变持久性
如果希望将session()
与view()
一起使用,只需执行flash()
:
在这种情况下,session()->get('variable')
有效,而$variable
无效。with()
方法根据链接的位置执行不同的操作。对于视图()
:
'variable'
将作为变量提供,$variable
,而不是通过会话会话()->get('variable')
在重定向()上使用with()
时:
然后,'variable'
可通过session()
使用,而不是作为$variable
使用
这是由于请求生命周期造成的;对于view()
,它是一个调用链,因此设置变量是可以接受的。对于redirect()
,它需要执行一个全新的请求,并通过session
逻辑完成跨调用的可变持久性
如果希望将session()
与view()
一起使用,只需执行flash()
:
在这种情况下,session()->get('variable')
有效,而$variable
无效。在视图()上使用->with()
不会向会话添加任何内容。您可以通过$warning
访问它redirect()->with('warning')
是您使用session('warning')
的时候。很抱歉,这意味着要将其添加到上面的注释中,编辑时间已过期,如果您在返回视图时需要会话值,您只需在返回视图(…)之前执行会话()->flash('warning',Test即可。
@TimLewis你能把它作为一个答案吗?根据我的个人经验,在处理会话时不要使用dd
。如果您使用dd
退出流程,会话的行为(有时)会很奇怪。在视图()上使用->with()
不会向会话添加任何内容。您可以通过$warning
访问它redirect()->with('warning')
是您使用session('warning')
的时候。很抱歉,这意味着要将其添加到上面的注释中,编辑时间已过期,如果您在返回视图时需要会话值,您只需在返回视图(…)之前执行会话()->flash('warning',Test即可。
@TimLewis你能把它作为一个答案吗?根据我的个人经验,在处理会话时不要使用dd
。如果您使用dd
退出流程,会话的行为(有时)会很奇怪。
return view('view.name')->with('variable', 'value');
return redirect()->route('route.name')->with('variable', 'value');
session()->flash('variable', 'value');
return view('view.name');