Laravel集合:GroupBy项目并在视图中使用WhereIn

时间:2016-10-05 17:54:27

标签: php laravel

我正在从数据库中检索项目并按照“MONTH'

”对其进行分组
$events          = DB::table('events')->get();
$events_by_month = $events->groupBy('month');

这会返回一个类似的集合:

Collection {#186 ▼
  #items: array:1 [▼
    "DEC" => Collection {#159 ▼
      #items: array:1 [▼
        0 => {#166 ▼
          // attributes
        }
      ]
    },
     "JAN" => Collection {#159 ▼
      #items: array:1 [▼
        0 => {#166 ▼
          // attributes
        }
      ]
    }
  ]
}

我将此传递给我想要显示给定月份的项目的视图。我可以在这里使用whereIn(以及哪种情况是关键?)还是有其他/更好的方法?

whereIn中没有键返回错误:

@foreach($mths->whereIn(['DEC', 'JAN']) as $mth => $events)

1 个答案:

答案 0 :(得分:2)

 $events_by_month=DB::table('events')->get()->groupBy('month');

在视图中:

   @foreach($events_by_month->where(['month'=>'DEC') as $month=>$events)
       {{ $month }} 

       @foreach($events as $event)
         {{ $event }} 
       @endforeach

   @endforeach