Rumah  >  Artikel  >  rangka kerja php  >  Pembangunan Laravel: Bagaimana untuk menggunakan Pembina Pertanyaan Laravel untuk pertanyaan kompleks?

Pembangunan Laravel: Bagaimana untuk menggunakan Pembina Pertanyaan Laravel untuk pertanyaan kompleks?

WBOY
WBOYasal
2023-06-14 19:13:281286semak imbas

Laravel Query Builder ialah alat ORM (Object Relational Mapping) yang popular untuk memudahkan operasi pangkalan data dan pertanyaan. Ia menyediakan sintaks berorientasikan objek yang mudah yang membolehkan pembangun menulis pertanyaan SQL yang kompleks dengan mudah tanpa perlu menulis kod SQL secara manual.

Dalam artikel ini, kami akan memperkenalkan cara menggunakan Pembina Pertanyaan Laravel untuk melaksanakan operasi pertanyaan yang kompleks. Termasuk pertanyaan asas, pertanyaan pengagregatan, pertanyaan gabungan jadual, pengumpulan dan pengisihan, dsb.

Pertanyaan asas

Pertama sekali, pertanyaan asas merujuk kepada operasi terus pada satu jadual. Operasi pertanyaan paling asas ialah pilih Dengan mencari dokumen, anda boleh menanyakan data dengan cara berikut:

$users = DB::table('users')->select('name', 'email as user_email')->get();

Antaranya, parameter pertama menentukan nama jadual yang akan ditanya dan parameter dalam fungsi pilih tentukan pertanyaan Lajur hasil, fungsi get memperoleh hasil pertanyaan.

Pertanyaan pengagregatan

Pertanyaan pengagregatan ialah pertanyaan yang meringkaskan data, seperti COUNT, SUM, AVG, MAX, MIN, dll. Kami boleh menggunakan fungsi agregat Pembina Pertanyaan Laravel untuk melengkapkan ini operasi:

$usersCount = DB::table('users')->count();
$usersMaxId = DB::table('users')->max('id');
$usersMinId = DB::table('users')->min('id');
$usersSumSalary = DB::table('users')->sum('salary');
$usersAvgSalary = DB::table('users')->avg('salary');

Dalam contoh di atas, kiraan, nilai maksimum, nilai minimum, jumlah dan operasi purata telah dilakukan pada jadual pengguna.

Sertai pertanyaan jadual

Sertai pertanyaan jadual ialah operasi biasa yang digunakan untuk mendapatkan semula data daripada berbilang jadual berkaitan. Kita boleh menggunakan fungsi join untuk menyertai dua atau lebih jadual:

$results = DB::table('users')
            ->join('orders', 'users.id', '=', 'orders.user_id')
            ->select('users.name', 'orders.order_number')
            ->get();

Dalam contoh di atas, parameter pertama dalam fungsi join ialah nama jadual lain untuk dicantumkan, dan parameter kedua ialah dua keadaan sambungan antara jadual, parameter ketiga ialah lajur hasil yang dipilih.

Penghimpunan dan Pengisihan

Penghimpunan dan pengisihan ialah operasi penapisan dan pengisihan hasil pertanyaan. Sebagai contoh, kita boleh mengisih hasil mengikut nilai lajur tertentu, atau kumpulan mengikut lajur tertentu. Laravel Query Builder menyediakan fungsi orderBy dan groupBy untuk melengkapkan operasi ini:

$users = DB::table('users')
            ->orderBy('name', 'asc')
            ->groupBy('gender')
            ->get();

Dalam contoh di atas, fungsi orderBy digunakan untuk mengisih hasil dalam susunan menaik mengikut nama, dan fungsi groupBy digunakan untuk mengumpulkan keputusan mengikut bidang jantina.

Ringkasan

Pembina Pertanyaan Laravel ialah alat yang sangat berkuasa yang boleh membantu kami menyelesaikan operasi pertanyaan kompleks dengan mudah dan cekap. Kami menggunakan Laravel Query Builder dalam projek kami untuk mengelakkan kod SQL kompleks tulisan tangan dan meningkatkan kecekapan pembangunan. Menguasai operasi asas ini boleh meningkatkan kecekapan pembangunan dan kualiti kod kami.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menggunakan Pembina Pertanyaan Laravel untuk pertanyaan kompleks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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