2016-06-14 4 views
-1

私はLaravelを初めて使っています。私はこのテーブルをFirst Nameで並べ替えようとしていますが、どこから始めたらいいのか分かりません。LaravelでFirstNameでテーブルをソートする方法は?

単純にデータをテーブルにレンダリングするコントローラです。

$resultArray = object_to_array($result); 

    return view('home', [ 
     'resultArray' => $resultArray 
    ]); 

答えて

0

結果配列を取得する名前をソートしようとします。 は、データベースから取得する場合は、結果をクエリの名前でソートすることを意味します。

2

データを改ページする可能性が高いため、フロントエンドでソートしたくない場合は、最初の50件の結果をアルファベット順に並べ替えるだけです。

代わりに、あなたはその後、あなたのビューにユーザーを渡す

$users = User::orderBy('firstName')->paginate(50) 

ような何かをしたいです。

現時点では、結果データを配列に変換しているように見えますが、実際には必要ありません。laravelは、整形などの便利な機能を持つコレクションオブジェクトを返します。

編集:

あなたがちょうどその現在あなたの例で提示方法であなたのデータを注文したい場合は、最良の方法は、usortとなります。これには、laravelコレクションの利点はありませんが、必要に応じて配列を並べ替えることができます。

あなたはデータがある場合:

$items = [ 
    ['name' => 'barry'], 
    ['name' => 'alan'] 
]; 

usort($items, function ($a, $b) { return $a['name'] > $b['name'];}); 

が配列

$items = [ 
    ['name' => 'alan'], 
    ['name' => 'barry'] 
]; 

ように並べ替えるだろうがそれはしかし、参照によって渡されますので、オリジナルが変更されます。

laravelコレクションクラスを見てみることをお勧めしますが、この種のデータを処理するためのインターフェイスは非常に優れています。

+0

なぜ括弧内に50を入れましたか? – progx

+1

@progxこれは1ページあたりのアイテムの数です。任意の番号を選択できます。 – ceejayoz

+0

@ceejayoz私は、テーブルのデータをレンダリングする配列と、最終的にデータをレンダリングするコントローラ内のコードを表す新しい画像をアップロードしました。あなたはそれを見て、コントローラのFirstNameデータをどのように並べ替えることができるか教えてください。ありがとうございました – progx

関連する問題