1
0

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】(備忘録)Formファサードを使ったselectbox作成

Posted at

###LaravelのVersion

$ php artisan --version
Laravel Framework 6.20.12

#やりたいこと
"選択して下さい"の様なoption(尚且つvalueはnull)を含んだselectboxを作りたい。

まずはパッケージのインストール。

$composer require laravelcollective/html:6.*

これでFormファサードが使えるようになり、最終的にこの形になった。

sample.blade.php
{{ Form::select('sample_id', \App\Sample::select('id', 'sample_name')->where('user_id', Auth::id())->get()->pluck('sample_name', 'id')->prepend("選択して下さい", ""), $sample_id) }}
SampleController.phpのメソッド
~
public function sample($sample_id = null) {
~

工夫した点としては、Auth::id()を使ってユーザ固有のsampleを取り出せるようにしたことと、
Form::select()の第三引数はselectboxの初期選択位置なので、sample_idとし、
Controllerの引数のデフォルト値をsample_idとすることで、初期選択は未選択でも既に登録されてる値でも対応できるようにした。

pluck()がいるのか微妙だし、この一行少し長いなと思ったり。
まだまだ勉強が必要です。

参考:
Laravel5.4でFORMファサードを利用する方法
https://qiita.com/FrogWoman/items/1fb35cf46181b6b7d3be

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?