ホームページ >データベース >mysql チュートリアル >Laravel の雄弁な結果を日ごとにグループ化するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。