7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel】自画面遷移時にセレクトボックスの選択値を保持させる

Posted at

検索画面など、自画面遷移時にセレクトボックスの選択値を保持させる方法です。

やりたいこと

自画面遷移時にセレクトボックスの選択値を保持させる

  • 処理実行→自画面遷移時
  • バリデーションエラー時

の2パターンに対応させる

環境

  • PHP:バージョン7.3.7
  • Laravel:バージョン5.8
  • OS:Windows10

書き方

typesテーブルから取り出した値(ID、NAME)をもとにセレクトボックスを作成する場合の記述は以下の通り。


<select name = "type_id">
	<option value = "" selected>選択してください</option>
    @foreach($types as $type)
    @if((!empty($request->type_id) && $request->type_id == $type->ID) || old('type_id') == $online_type->ID )
    <option value = "{{ $type->ID }}" selected>{{ $type->NAME }}</option>
    @else
    <option value = "{{ $type->ID }}">{{ $type->NAME }}</option>
    @endif
    @endforeach
</select>
           

処理実行→自画面遷移に対応しているのが、

!empty($request->type_id) && $request->type_id == $type->ID
バリデーションエラーに対応しているのが、
old('type_id') == $online_type->ID
となっています。

参考

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?