📌

Laravelでcreated_atの年ごとにグループ化して取得する

2022/02/15に公開

created_atやupdated_at、ブログサービスとかであれば投稿日(posted_at)など、データベースに日付が入っているかと思います。

その日付でグループ化してデータを取得したい時にはどのようにすればよいのでしょうか。

結論は、DBから普通に取得してきて、Collectionの状態でデータ加工をすると一番わかりやすいです。

$users = User::all()
$users->groupBy(function ($item, $key) {
    return Carbon::parse($item['created_at'])->year;
});

これで年ごとにグループ化して取得することができます✨

ぜひ、お試しあれ!

Discussion