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');