输入错误的参数时,我试图显示Flash消息。
我尝试这样做:
with session()->flash('error', 'error message.');
然后返回视图,但是当我在url中输入一个正确的参数时,我不得不加载两次以使视图显示而不是仅显示错误消息。
尝试时(因为在我发现的某些SO答案中建议这样做):
session()->now('error', 'error message.');
它起作用了;我在网址中输入了正确的参数,只需要重新加载一次即可。
现在我想知道这两者之间有什么区别?
我读过他们都应该只保留一个请求,但是显然他们并不相同...
答案 0 :(得分:1)
flash()
方法用于仅在下一个请求的会话中存储数据。这就是为什么您必须两次重新加载应用程序的原因。
另一方面,now()
仅供中间使用,并且在您提出新请求后,使用此方法存储的数据将被删除。
因此,使用哪种方法基本上取决于您何时需要访问数据(当前或下一个请求)。