首頁 > 資料庫 > mysql教程 > 如何按天將 Laravel Eloquent 結果分組?

如何按天將 Laravel Eloquent 結果分組?

Patricia Arquette
發布: 2024-11-03 15:09:03
原創
648 人瀏覽過

How Can I Group Laravel Eloquent Results by Days?

按天對Laravel Eloquent 結果進行分組

當使用包含追蹤使用者活動的記錄的表時,以天分組對於取得對流量模式的洞察。然而,每筆記錄存在不同時間會妨礙準確分組。

解決方案 1:DB::Raw Query

要實現基於天的分組,請利用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 Eloquent 結果分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板