使うもの
- Formというファサード
- laravelcollectiveをcomposerでインストールすると使える便利なアレ(インストール方法)
-
pluck()
というcollectionメソッド
手順
テーブルからデータを取得する
Eloquentモデルからデータを取ってくる想定
$plucked_categories = $this->category->all()->pluck('category_name', 'id');
POINT: pluck()でデータを整形する
pluck()
は、collectionのメソッドの1つで
第1引数をvalue、第2引数をkeyとした配列を返してくれる
ここではセレクトボックスを作るのでそこで使う値を得る必要がある
Formファザードを使うと以下のHTMLが生成されるので、それを想定して引数を指定する
<select>
<option value="key1">value1</option>
<option value="key2">value2</option>
<option value="key3">value3</option>
</select>
Formを作る
以下を書くとセレクトボックスのフォームができる
{!! Form::open(['url' => /hoge, 'method'=>'PUT']) !!}
<div class="form-group">
{!! Form::label('category', 'カテゴリ:') !!}
{!! Form::select('category', $plucked_categories, $article->category_id, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::submit('送信', ['class' => 'btn btn-primary form-control']) !!}
</div>
{!! Form::close() !!}
ちなみに
From:select()
の引数は以下を渡す
第1引数: name要素
第2引数: セレクトボックスの要素
第3引数: デフォルト値
第4引数: classとかidとか
先輩のお知恵を借りて得た知恵٩(ˊᗜˋ*)و