##はじめに
Laravelでポートフォリオを作成する際にプルダウンメニューを利用したので実装手順を忘備録として残すために書きました。独学でLaravel学習中なので初心者向けです。
##データを作る
まず、プルダウンメニューのデータを準備するのですが、モデルに配列でデータを書くとモデル内がゴチャゴチャするので今回はconfig下にデータを入れたファイルを作りconfig('ファイル名')で呼び出すようにしました。
Laravelではconfig下に好きなファイルを作成でき、定数的な使い方ができる。
score.php
<?php
return array(
'1' => ['label' => '☆'],
'2' => ['label' => '☆☆'],
'3' => ['label' => '☆☆☆'],
'4' => ['label' => '☆☆☆☆'],
'5' => ['label' => '☆☆☆☆☆'],
);
?>
##ビューでプルダウンメニューを表示する
score.blade.php
<select>
@foreach(config('score') as $key => $score)
<option value="{{ $key }}">{{ $score['label'] }}</option>
@endforeach
</select>
メニューバー
メニューのデータ
DBにはプルダウンのデータを数字で保存したかったので
<option value="{{ $key }}">{{ $score['label'] }}</option>
keyに数字を設定し、score['label']で['label']を利用して文字を表示するようにしました。
##まとめ
もっと簡単な方法があるかもしれませんが、プルダウンメニューを複数実装する際はconfig下にファイルを作成して呼び出すようにした方がコードがスッキリして便利だなと感じました。
他に良い方法がありましたら教えていただけるとありがたいです。