
セッションに値を保存
下記は配列の「test」というkeyに「test」という文字列を保存しています。
session(['test'=>'test']);
session()->get()で値を確認します。
※responseを使って値を確認していますが値が確認できればddとかlog関数でも大丈夫です
return response(session()->get('test'));
結果
test
session()->all()だとこんな感じでどこにどんな値が格納されているかわかります。
{
"test": "test"
}
セッションに配列を保存
session()->push()を使うことで配列をセッションに保存することができます。
第一引数にkey、第二引数に値を指定します。
$data = [
'test1' => 1,
'test2' => 2,
'test3' => 3,
];
session()->push('Array',$data);
結果
{
"Array": [
{
"test1": 1,
"test2": 2,
"test3": 3
}
]
}
セッションの値を取得
session(key名)と指定することで指定したkeyの値を取得することができます。
先ほどのArrayというkey名を指定してみます。
session('Array')
結果
[
{
"test1": 1,
"test2": 2,
"test3": 3
}
]
値の存在判定①
session()->has()で指定したkeyの値が存在していればtrueを返します。
null、そもそもkeyがない場合にはfalseとなります。
0や空文字はtrueになるので注意が必要です。
session()->has(key名)
値の存在判定②
nullでもkeyが存在していることを確認したい場合はsession()->exists()を使用します
session()->exists(key名)
値の存在判定③
key自体が存在しないことを確認したい場合は session()->missing() を使用します。
keyが存在していなければtrueを返し存在していればfalseを返します。
session()->missing(key名)
セッションの値を削除
セッションの値を削除したい場合はsession()->forget()を使用します。
session()->forget(key名)
以下のようにすることで複数の値の削除も可能となります。
session()->forget([key名1, key名2]);