Laravel:session()-> flash()和session()-> now()之间的区别

时间:2019-10-28 15:07:14

标签: php laravel session flash-message

输入错误的参数时,我试图显示Flash消息。
我尝试这样做:

with session()->flash('error', 'error message.'); 

然后返回视图,但是当我在url中输入一个正确的参数时,我不得不加载两次以使视图显示而不是仅显示错误消息。

尝试时(因为在我发现的某些SO答案中建议这样做):

session()->now('error', 'error message.');

它起作用了;我在网址中输入了正确的参数,只需要重新加载一次即可。

现在我想知道这两者之间有什么区别?
我读过他们都应该只保留一个请求,但是显然他们并不相同...

1 个答案:

答案 0 :(得分:1)

flash()方法用于仅在下一个请求的会话中存储数据。这就是为什么您必须两次重新加载应用程序的原因。

另一方面,now()仅供中间使用,并且在您提出新请求后,使用此方法存储的数据将被删除。

因此,使用哪种方法基本上取决于您何时需要访问数据(当前或下一个请求)。