首页 文章

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

提问于
浏览
2

我正在从数据库中检索项目并按'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 回答

  • 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
    

相关问题