2017-02-04 6 views
0

"週"(整数)と "レッスン名"(文字列)の列を持つテーブルがあります。私はコレクションを返してビューに渡しており、コレクションをループして週ごとにレッスンをグループ化したいと考えています。これはどうすればいいですか?私は、それぞれのループにaを使用する必要があると思うが、それを書く方法はわからないと思う?コレクションをループして、同じ列の値で結果を区切る方法

答えて

1

あなたはgroupBy()方法を試してみました(表の列)GROUPBY関数を呼び出すことができますを収集し使用して、パラメータを渡し、その後、このよう

$data = [ 
    [ 
     'week' => 1, 
     'lesson' => "A", 
    ], 
    [ 
     'week' => 2, 
     'lesson' => "B", 
    ], 
    [ 
     'week' => 1, 
     'lesson' => "C", 
    ], 
    [ 
     'week' => 1, 
     'lesson' => "D", 
    ] 
]; 

に見えます?中:https://laravel.com/docs/5.2/queries#ordering-grouping-limit-and-offset

$users = DB::table('lessons') 
      ->groupBy('week') 
      ->having('week', '>', 1) 
      ->get(['lesson_name']); 

PS:私は現在、5.2

を使用するので、私はLaravel 5.2のドキュメントを参照しています
0

と仮定すると、あなたのデータは

$data = collect($data)->groupBy('week'); 
関連する問題