2016-10-04 59 views
3

我想从我的会议中删除值使用不工作方法:laravel的会议冲洗,忘记预期

Session::forget('value') 

,但它没有删除!

然而,当我试图使用像这样save方法:

Session::forget('value') 
Session::save() 

它的工作! (即从会话中删除了该值)。

请问我在做什么错?在使用Session::flush()Session::forget()时,我在Laravel文档中看不到save方法。

+1

[这是保存,它不在文档中,但它是界面的一部分](https://laravel.com/api/5.3/Illuminate/Session/Store.html#method_save) – Ohgodwhy

回答

2

save()方法将有效地执行写入文件。

看起来,您的应用程序在向所有请求的用户输出内容之前不会调用Session :: save()。

如果未调用此方法,会话文件将不会使用新值进行更新,并且在下次访问时它们仍将保留在那里。

如果您希望确定删除或添加了内容并且更改仍然存在,那么始终要调用Session :: save()非常重要。

0

我使用Session::save()方法它的工作很好,可以节省会话数据。但是当我使用Session::flush()刷新会话时,它并不清除存储在Laravel会话中的所有数据。 Session::forget('value')正常工作以清除会话特定值。

1

完全缓存清除(或者使用命令行或代码):

php artisan cache:clear 
Artisan::call('cache:clear'); 

+全会话冲洗:

Session::flush(); 

通过这种方法可以清除所有的会话数据。