こんな悩みを解決します。
いのうえ
こんにちは、学生フリーランスエンジニアのいのうえ(@inouelog)です!
この記事では、「LaravelのFormファサードのセレクトボックスで選択肢の実装は出来るけど、初期値を設定することができない」という方向けに、初期値を設定する方法を解説します。
前提
次の条件を満たしていることを前提とします。
- Laravel Collectiveをインストール済み
- Formファサードでセレクトボックスの実装方法は理解している
念のために、セレクトボックスの実装方法を解説している記事を紹介しておきます。
LaravelのFormファサードのセレクトボックスで初期値を設定する方法
結論から話すと、select()の第三引数でselected属性を配列で渡せばよいです。
{!! Form::select('fruit', ['ぶどう', 'バナナ', 'りんご', 'さくらんぼ', 'メロン', 'スイカ', 'みかん'], ['selected' => '2']) !!}
上の例では、「りんご」を初期値に設定しています。
Formファサードのセレクトボックスでデータを保存している場合は、数字でデータベースに登録されているので、例えば、次のようにすればデータベースに保存されたデータを初期値に設定できます。
{!! Form::select('fruit', ['ぶどう', 'バナナ', 'りんご', 'さくらんぼ', 'メロン', 'スイカ', 'みかん'], ['selected' => $data->fruit]) !!}
まとめ
LaravelのFormファサードは便利なので、使いこなせるようになると良いですね!セレクトボックスは解説している記事が少ないので、解説しました。
以上、『【Laravel】Formファサードのセレクトボックスで初期値を設定する方法』でした。