Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan SUM Fasih dan GROUP BY Pertanyaan dalam Laravel dengan Cekap?

Bagaimana untuk Melaksanakan SUM Fasih dan GROUP BY Pertanyaan dalam Laravel dengan Cekap?

Patricia Arquette
Lepaskan: 2025-01-03 04:46:39
asal
497 orang telah melayarinya

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

Jumlah Fasih dan Kumpulan Mengikut Pertanyaan dalam Laravel

Dalam Laravel, Eloquent ORM menyediakan cara yang mudah untuk berinteraksi dengan pangkalan data. Walau bagaimanapun, apabila bekerja dengan set data yang besar, anda mungkin perlu melakukan pertanyaan kompleks yang menggabungkan fungsi pengagregatan seperti SUM dengan operasi pengumpulan seperti GROUP BY.

The Challenge

Satu senario biasa di mana soalan ini timbul ialah apabila anda ingin mendapatkan jumlah medan tertentu sambil mengumpulkan hasil dengan medan lain. Sebagai contoh, anda mungkin ingin mencari jumlah halaman yang ditulis oleh setiap editor dalam pangkalan data dokumen.

Penyelesaian 1: Menggunakan selectRaw dan pluck

Untuk mencapai ini , anda boleh terlebih dahulu mengumpulkan hasil mengikut medan yang dikehendaki menggunakan kaedah groupBy. Kemudian, gunakan kaedah selectRaw untuk mentakrifkan pengiraan, dan akhirnya gunakan kaedah pluck untuk mencipta tatasusunan jumlah bagi setiap kumpulan:

Document::groupBy('users_editor_id')
   ->selectRaw('SUM(no_of_pages) AS sum, users_editor_id')
   ->pluck('sum', 'users_editor_id');
Salin selepas log masuk

Penyelesaian 2: Menggunakan selectRaw dan dapatkan

Sebagai alternatif, anda boleh mencapai hasil yang serupa menggunakan kaedah selectRaw and get. Walau bagaimanapun, pendekatan ini akan mengembalikan koleksi model pseudo yang merangkumi jumlah yang dikira sebagai medan tambahan:

Document::groupBy('users_editor_id')
   ->selectRaw('*, SUM(no_of_pages) AS sum')
   ->get();
Salin selepas log masuk

Dengan memanfaatkan teknik ini, anda boleh melaksanakan operasi pengagregatan dan pengelompokan kompleks dengan cekap dalam pertanyaan Eloquent anda untuk dapatkan cerapan berharga daripada pangkalan data anda.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan SUM Fasih dan GROUP BY Pertanyaan dalam Laravel dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan