web-dev-qa-db-ja.com

Laravel 5.3でリクエストを使用せずにセッションを削除する方法は?

セッションを処理する必要のあるコントローラーにメソッドがあります。このメソッドは、ユーザー入力を必要としないgetメソッドによって呼び出されるため、Requestクラスなしで実行したいと思います。

現在、セッションを設定できますが、削除する方法が見つかりません。次のようになります。

_if ($boolean_storing_condition_value)
    session(['some_data'=>'Some Data']);
else
   /* What should be the unset function? */
_

Laravel 4.2では、これはSession::forget('some_data');またはSession::flush()で行われます。Laravel 5.3でそれを行う方法?

6
cytsunny

リクエストオブジェクトを使用せずに セッションヘルパー を使用できます。

session()->forget('some_data');
session()->flush();
16
Jerodev

Laravel 5.3では、flush()およびforget()メソッドを引き続き使用できます。

session()->flush();
session()->forget('key');

https://laravel.com/docs/5.3/session#deleting-data

3
Alexey Mezenin

その後にsession()->save();を追加します。

2
Jishnu RS

Laravel 5.6でセッション変数を削除するには

session()->forget(['key1']);

セッション変数を削除するには(セッションから1つの値を削除します)、引数として引数を使用しますsession()-> forget(['']);

session()->forget(['key1','key1','key3','...']);
0
Nadeem Qasmi