laravel5.5で、テーブルの内容(where条件あり)をプルダウンに表示したい時のやり方(pluckを使う)
usersテーブルの一覧(where条件あり)をプルダウンで選択させたいには、簡単なやり方があった。
いままでは、eloquentクラスにわざわざメソッドを追加していた。
1 2 3 4 5 6 7 |
// UserController.php $users = User::where('test_flag', true)->orderBy('id','asc')->pluck('name', 'id'); // プルダウンの一番最初は空欄にしたい時には、先頭に追加しておく $users = $users -> prepend('', ''); // edit.blade.php {!! Form::select('user_id', $users, $users->id, ['id'=>'user_id']) !!}</td> |
前がvalueで、後ろがkeyなのね。間違えそう…。
pluck(‘name’, ‘id’);
pluckというとジョジョ第一部の「Luck!(幸運を) PLUCK(勇気をっ!) 」のイメージだけど、現代英語ではpick up(つまみ上げる、拾い上げる)みたいな意味なのね。
https://readouble.com/laravel/5.5/ja/collections.html#method-pluck