Laravel
LaravelでwhereMonthで注意する点と、今月のデータを取得する方法
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
オススメ本
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 にご連絡ください。
それでは!
人気記事