Laravel セッションの保存、追加

Laravel

セッションに値を入れる際、色々詰まったのでメモ。

本記事ではRequestインスタンスを介してセッションを使用していますが、ファサードやヘルパも使えます。

基本的な使い方はReadoubleを参照。

セッションへ値の保存

$request->session()->put('key', 'value');

‘key’というキー名で、’value’というデータが保存されます。

配列でセッションを保存

        $request->session()->put('form_input', [
            'brand-caractor' => $input['brand-caractor'],
            'brand'          => $input['brand'],
            'parent-cat'     => $input['parent-cat'],
            .....
        ]);

のようにputの第二引数を [ ] で渡してあげると、 form_input(任意の名前)の下にそれぞれのキーと値が格納されます。

セッションform_inputは以下のようになります。

普通の配列のようになっていますね!

配列になったセッションにデータを追加

上のセッションに、新しいデータとしてimageを追加したいと思います。

$request->session()->put('form_input.image', $arr);

putの第一引数で、’form_input.image’のようにキー名を全て記述します。

$arr には配列が入っていますが、普通のstringでも問題ありません。

これで、

(画像では見切れてますが) 'form_input'配下に'image'というキーがあり、その中に配列データが保存されました!

参考サイト

imageデータを追加する際、

最初 push を使ったのですがimage自体が配列になってしまい、
なんだか意味がわからないなーと思ったら

こちらでシンプルに訂正してくれていました。

stackoverflow

タイトルとURLをコピーしました