ホームページ >データベース >mysql チュートリアル >Laravel の雄弁な結果を日ごとにグループ化するにはどうすればよいですか?

Laravel の雄弁な結果を日ごとにグループ化するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-03 15:09:03687ブラウズ

How Can I Group Laravel Eloquent Results by Days?

Laravel Eloquent Results を日ごとにグループ化

ユーザーアクティビティを追跡するレコードを含むテーブルを操作する場合、日ごとにグループ化すると、結果を取得するのに役立ちます。トラフィックパターンに関する洞察。ただし、レコードごとに異なる時間が存在すると、正確なグループ化が妨げられる可能性があります。

解決策 1: DB::Raw クエリ

日ベースのグループ化を実現するには、 MySQL の DATE() 関数。この関数はタイムスタンプから時間要素を取り除き、純粋な日付を生成します。

DB::table('page_views')
    ->select(DB::raw('DATE(created_at) as date'), DB::raw('count(*) as views'))
    ->groupBy('date')
    ->get();

解決策 2: Carbon を使用した Eloquent クエリ

Laravel Eloquent フレームワーク内に留まるには、 Carbon を利用して日付を操作します。最初の where 句は、先月以内に作成されたレコードをフィルターします。日付ごとにグループ化し、降順に並べ替えることで、時系列で表示できるようになります。

<code class="php">$visitorTraffic = PageView::where('created_at', '>=', \Carbon\Carbon::now()->subMonth())
                            ->groupBy('date')
                            ->orderBy('date', 'DESC')
                            ->get(array(
                                DB::raw('Date(created_at) as date'),
                                DB::raw('COUNT(*) as "views"')
                            ));</code>

以上がLaravel の雄弁な結果を日ごとにグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。