首頁 > 資料庫 > mysql教程 > 如何在 Laravel 中高效執行 Eloquent SUM 和 GROUP BY 查詢?

如何在 Laravel 中高效執行 Eloquent SUM 和 GROUP BY 查詢?

Patricia Arquette
發布: 2025-01-03 04:46:39
原創
488 人瀏覽過

How to Efficiently Perform Eloquent SUM and GROUP BY Queries in Laravel?

Laravel 中的 Eloquent Sum 和 Group By 查詢

在 Laravel 中,Eloquent ORM 提供了一種與資料庫互動的便捷方式。然而,在處理大型資料集時,可能需要執行將 SUM 等聚合函數與 GROUP BY 等分組操作結合的複雜查詢。

挑戰

一出現此問題的常見情況是當您想要取得特定欄位的總和,同時按另一個欄位將結果分組時。例如,您可能想要尋找文件資料庫中每個編輯者所寫的總頁數。

解決方案 1:使用 selectRaw 和 pluck

實現此目的,您可以先使用 groupBy 方法按所需欄位對結果進行分組。然後,使用selectRaw 方法定義計算,最後使用pluck 方法建立每個群組的總和陣列:

Document::groupBy('users_editor_id')
   ->selectRaw('SUM(no_of_pages) AS sum, users_editor_id')
   ->pluck('sum', 'users_editor_id');
登入後複製

解決方案2:使用selectRaw 和get

或者,您可以使用selectRaw 和get 方法獲得類似的結果。然而,這種方法將傳回一個偽模型的集合,其中包括作為附加欄位的計算總和:

Document::groupBy('users_editor_id')
   ->selectRaw('*, SUM(no_of_pages) AS sum')
   ->get();
登入後複製

透過利用這些技術,您可以在Eloquent 查詢中高效地執行複雜的聚合和分組操作,以從您的資料庫中獲得有價值的見解。

以上是如何在 Laravel 中高效執行 Eloquent SUM 和 GROUP BY 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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