PR

【Laravel】Formファサードのセレクトボックスで初期値を設定する方法

アイキャッチ画像
この記事で解決できる悩み
  • LaravelのFormファサードのセレクトボックスで初期値を設定するには?

こんな悩みを解決します。

いのうえ
いのうえ

こんにちは、学生フリーランスエンジニアのいのうえ(@inouelog)です!

この記事では、「LaravelのFormファサードのセレクトボックスで選択肢の実装は出来るけど、初期値を設定することができない」という方向けに、初期値を設定する方法を解説します。

前提

次の条件を満たしていることを前提とします。

  • Laravel Collectiveをインストール済み
  • Formファサードでセレクトボックスの実装方法は理解している

念のために、セレクトボックスの実装方法を解説している記事を紹介しておきます。

LaravelのFormファサードのセレクトボックスで初期値を設定する方法

結論から話すと、select()の第三引数でselected属性を配列で渡せばよいです。

{!! Form::select('fruit', ['ぶどう', 'バナナ', 'りんご', 'さくらんぼ', 'メロン', 'スイカ', 'みかん'], ['selected' => '2']) !!}

上の例では、「りんご」を初期値に設定しています。

初期画面
クリック時

選択肢の数字は’0’から始まっていることに注意しましょう。

Formファサードのセレクトボックスでデータを保存している場合は、数字でデータベースに登録されているので、例えば、次のようにすればデータベースに保存されたデータを初期値に設定できます。

{!! Form::select('fruit', ['ぶどう', 'バナナ', 'りんご', 'さくらんぼ', 'メロン', 'スイカ', 'みかん'], ['selected' => $data->fruit]) !!}

まとめ

LaravelのFormファサードは便利なので、使いこなせるようになると良いですね!セレクトボックスは解説している記事が少ないので、解説しました。

以上、『【Laravel】Formファサードのセレクトボックスで初期値を設定する方法』でした。