Laravelでも三項演算子を利用すると便利。
フォームedit時、プルダウンメニューの先頭に、最初の入力値を表示させたりもできます。
三項演算子の解説も含めて、方法を解説していきますね。
三項演算子とは
「三項演算子ってなに?」
という方のために、さくっと概要を説明します。
じゅんこ
わたしもプログラミングを学びはじめのとき、ナニソレって思いました。
三項演算子とは
これは数学やプログラミング全般で使われる方法。
意味は、3つの項目でなる演算子ということです。
演算子というのは 数学の記号のことで、おなじみの 【+】 や 【ー】 なども演算子です。
三項演算子の作り方
三項演算子の式は、その名のとおり、【条件】【条件に合う場合】【条件に合わない場合】の3つの要素で作ります。
作り方は、次のとおり。
【条件】 ? 【A】 : 【B】
もし条件にあえばAにする、そうでなければBにする
3つの要素以外は?と:を使うだけ。
超シンプルですよね。
IF文と同じ感じですが、三項演算子を使うとIF文より簡潔にコードを組めます。
じゅんこ
色々と使い道があるワザなので、頭の片隅にいれておくと便利です!
Laravelで三項演算子を使う:optionタグ内で初期入力値をselectedにする
それでは、実際にLaravelで三項演算子を使う例をお見せします。
たとえば、次のようなタグがあるとします。
コードはこちら。
1 2 3 4 5 6 |
<label for="level">テストのレベル(選択)</label> <select name ="level" class="form-control"> <option value="easy">易しい</option> <option value="normal">普通</option> <option value="difficult">難しい</option> </select> |
新規作成時はこれでOK。
ですがEDITときは、最初に選択したメニューが選択された状態で表示したい。
そういった場合は、optionタグ内を下記のように編集します。
1 2 3 4 5 |
<select name ="level" class="form-control"> <option value="easy" {{$exam->level == 'easy' ? 'selected' : ' '}}>易しい</option> <option value="normal" {{$exam->level == 'normal' ? 'selected' : ' '}}>普通</option> <option value="difficult" {{$exam->level == 'difficult' ? 'selected' : ' '}}>難しい</option> </select> |
各タグの中には、三項演算子が入っています。
コードの意味は次のとおり。
{{$exam->level == ‘easy’ ? ‘selected’ : ‘ ‘}}
コードの意味
もしデータベースの中で {{$exam->level}} が ‘easy’ であれば、’selected’を入力。
そうでなければ、’ ‘ とします。
これで、ユーザーが最初に選択したメニューが選択された状態で、表示されます。
三項演算子、便利ですね。