Laravel

LaravelでwhereMonthで注意する点と、今月のデータを取得する方法

いつもご利用ありがとうございます。このブログは、広告費によって運営されています。

オススメ本
Web技術を勉強するなら、かなりオススメの雑誌です。毎月新しい発見があります。ついに最終号・・・、みなさん買いましょう!!
読んで損することはない名著。命名で悩むことが多い人はこの本がオススメです。

⇨ Laravel 記事の目次はこちら

Laravel の whereMonth で注意する点と、使い方についてまとめてみました。

whereMonth は、「今月」ではない

whereMonth は、例えば「4月のデータ」を取得する関数です。

なので、例えば、

2022/04
2021/04
2020/04

など、毎年のデータが加算されてしまいます。

つまり、「今月のデータ」を取得したいときなどでは使ってはいけないと思います。

Laravel で今月のデータを取得する方法

やり方はさまざまあるとは思いますが、1 つの例を提示します。

use Carbon\Carbon;

$today = Carbon::now()->format('Y-m');
$start = $today.'-01 00:00:00';
$end = $today.'-31 23:59:59';
$posts = Post::where('created_at','>',$start)
          ->where('created_at','<',$end)
          ->get();

解説

where を使って、

2022-04-01 00:00:00 から、

2022-04-31 00:00:00 までのデータを取得する

という風に書いてあげれば、実現が可能です。

力技なので、使用の際はお気をつけください。

まとめ

以上です。

もっと良い書き方があればぜひ教えてください!

誰かの参考になればと思います。

感想・苦情は TwitterDM にご連絡ください。

それでは!

人気記事

PHP7.4 + Laravel6 のプロジェクトを AWS EC2 にデプロイする

【laravel-breadcrumbs】Laravel でパンくずリストを実装する