Laravel Eloquent:掌握GroupBy 求和的藝術
使用Laravel Eloquent 時,有時需要計算總和特定列的結果,同時按另列的結果,同時按另列一列將結果分組。然而,使用 sum() 和 groupBy() 的傳統方法可能會導致錯誤。這是因為 sum() 立即執行查詢,沒有留下任何物件來套用 groupBy()。
答案:分組和求和的熟練解
解決這個問題,解決方法是使用下面的程式碼結構:
Document::groupBy('users_editor_id') ->selectRaw('sum(no_of_pages) as sum, users_editor_id') ->pluck('sum','users_editor_id');
這段程式碼在groupBy()上'users_editor_id' 列,然後使用selectRaw() 指定總和計算。最後, pluck() 將 sum 和 users_editor_id` 值提取到一個陣列中。
或者,您可以使用以下方法:
Document::groupBy('users_editor_id') ->selectRaw('*, sum(no_of_pages) as sum') ->get();
此方法傳回帶有附加資訊的文檔模型集合sum 字段,提供了稍微不同的分組表示
結論
透過理解groupBy() 和sum() 之間的互動並利用selectRaw() 方法,您可以輕鬆計算總和,同時將結果分組Laravel Eloquent,賦能您的資料分析能力。
以上是如何在 Laravel Eloquent 中正確進行 Sum 和 GroupBy?的詳細內容。更多資訊請關注PHP中文網其他相關文章!