2013-07-12 14 views
26

laravelを使用して、フォーム上に選択ボックスを作成しています。私はヘルパーを使って選択ボックスを作成していて、すべて正常に動作しています。laravel eloquent lists - 列値のリストのソート

私は、データベースから選択ボックスのデータを取得し、データを取得するには、次を使用します。

$data = model::lists('name','id') 

再びすべてがうまく動作し、これが予想される配列を返す

私の問題は、しかし、私ですこのリストを並べ替えることができないようです - 私はorderBy()を追加しようとしましたが、喜びはありません。

ネイティブPHP関数を使用する以外に、リストをソートするlaravelメソッドがありますか?

+0

グレート質問:Laravel バージョン5.3listsから始まっ


代わりpluckを使用し、を非推奨されようとしています。通常、Laravelでselectを設定するための配列を作成するために、whereなどをクエリに配置する必要があります。 –

答えて

63

あなたが好きな置き、それを一覧表示することができます。私は意味:限りlistsは、他の方法がうまく動作しますが、チェーンの最後のメソッドであるよう

model::orderBy('orderByColumn')->lists('name', 'id'); 

model::orderBy('orderByColumn')->pluck('name', 'id'); 
+1

配列を取得したらPHP配列のソートを使用することもできます[PHP:配列の並べ替え](http://es1.php.net/manual/en/array.sorting.php ) –

+0

優秀 - ありがとうございます。リストの後に私は注文しようとしていた。私はこれらの機能の順序を理解できなかった。もう一度ありがとう – Ray

+0

ありがとう、ありがとう、@ umut-sirinありがとう。デトロイトからの多くの愛! –

4

あなたは試すことができます。問題が解決しない場合は

$data = model::select('name','id')->orderBy('name'); 

は、最後に->get()を投げる:

$data = model::select('name','id')->orderBy('name')->get(); 
+0

こんにちは私もこれを試しましたが、データが意図したhtml selectヘルパーにオブジェクトを実装するのに苦労しました。結果は正しいものの、実装できませんでした。リストには必要な正確なデータが入っているので簡単でした – Ray

関連する問題