laravelを使用し、フォーム上に選択ボックスを作成しています。ヘルパーを使用して選択ボックスを作成しており、すべて正常に動作しています。
データベースから選択ボックスのデータを取得し、次を使用してデータを取得します。
$data = model::lists('name','id')
再びすべて正常に動作し、これは期待される配列を返します
私の問題は、このリストを並べ替えることができないように見えることです。orderBy()を追加しようとしましたが、喜びはありません。
ネイティブphp関数を使用する以外に、リストをソートするためのlaravelメソッドがありますか?
好きなものを入れて、リストに追加できます。というのは:
model::orderBy('orderByColumn')->lists('name', 'id');
lists
がチェーンの最後のメソッドである限り、他のメソッドは問題なく機能します。
Laravel version 5.lists
はdeprecatedになります。代わりにpluck
を使用します:
model::orderBy('orderByColumn')->pluck('name', 'id');
あなたが試すことができます:
_$data = model::select('name','id')->orderBy('name');
_
うまくいかない場合は、最後に->get()
を投げます:
_$data = model::select('name','id')->orderBy('name')->get();
_
私が
dd(YourModel::pluck('name', 'id'));
私はそれがコレクションクラスだと思うので、コレクションを見つけましたlaravel=そして、メソッドsortKeys()を見つけたので、
YourModel::pluck('name', 'id')->sortKeys();