Laravel ialah rangka kerja PHP sumber terbuka dengan sintaks yang elegan, ringkas dan fungsi yang berkuasa. Antaranya, Query Builder ialah pembina pertanyaan pangkalan data yang berkuasa dalam Laravel yang boleh membantu kami membina pernyataan pertanyaan yang kompleks. Di bawah, kami akan memperincikan cara membina pertanyaan kompleks menggunakan Pembina Pertanyaan Laravel.
Sebelum menggunakan Laravel Query Builder, kita perlu mengkonfigurasi dan menyambung ke pangkalan data terlebih dahulu. Buka fail konfigurasi config/database.php
dan nyatakan jenis pangkalan data, nama hos, nama pangkalan data, nama pengguna dan kata laluan yang betul. Seperti yang ditunjukkan dalam contoh di bawah, kami menyambung ke pangkalan data MySQL:
'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database_name', 'username' => 'username', 'password' => 'password',
Menggunakan Laravel Query Builder, menanya semua data adalah sangat mudah. Dalam pengawal, kita boleh menggunakan kod berikut:
$data = DB::table('table_name')->get();
Di sini, kita perlu menggantikan table_name
dengan nama jadual data yang perlu disoal. get()
Kaedah ini akan mengembalikan semua data.
Jika kita hanya perlu menanyakan data lajur yang ditentukan, kita boleh menggunakan kaedah select()
. Contohnya:
$data = DB::table('table_name')->select('column_name1', 'column_name2')->get();
Di sini, kita perlu menentukan nama lajur untuk disoal nama berbilang lajur dipisahkan dengan koma.
Pembina Pertanyaan Laravel menyokong pelbagai kaedah pertanyaan bersyarat, termasuk sama dengan, tidak sama dengan, lebih besar daripada, kurang daripada, mengandungi, tidak mengandungi , dalam, dsb. Sebagai contoh, kami boleh menanyakan maklumat pengguna yang berumur lebih daripada 25 tahun melalui kod berikut:
$data = DB::table('users')->where('age', '>', 25)->get();
Di sini, kami menggunakan kaedah where()
untuk melaksanakan pelbagai pertanyaan bersyarat seperti sama dengan, lebih besar daripada, kurang daripada, dsb. Pada masa yang sama, kita juga boleh menggunakan kaedah orWhere()
untuk melaksanakan perhubungan ATAU antara berbilang syarat.
Dengan menggunakan operator like
, kami boleh melaksanakan pertanyaan kabur dalam kaedah where()
. Contohnya, kami boleh menanyakan maklumat yang mengandungi "Zhang" dalam nama pengguna melalui kod berikut:
$data = DB::table('users')->where('name', 'like', '%张%')->get();
Kita boleh menggunakan kaedah orderBy()
untuk melaksanakan pengisihan hasil pertanyaan. Contohnya, kita boleh melaksanakan pengisihan pertanyaan mengikut umur pengguna dalam tertib menaik melalui kod berikut:
$data = DB::table('users')->orderBy('age', 'asc')->get();
Di sini, kita perlu menentukan nama lajur untuk diisih dan kaedah pengisihan (tertib menaik atau menurun).
Pembina Pertanyaan Laravel juga menyokong pelbagai operasi pertanyaan pengagregatan, seperti kiraan, jumlah, maks, min, dsb. Sebagai contoh, kami boleh melaksanakan pertanyaan untuk purata umur pengguna melalui kod berikut:
$data = DB::table('users')->avg('age');
Dengan menggunakan kaedah groupBy()
, kami boleh melaksanakan pertanyaan Pengumpulan hasil. Sebagai contoh, kita boleh melaksanakan pertanyaan yang dikumpulkan mengikut umur pengguna melalui kod berikut:
$data = DB::table('users')->groupBy('age')->get();
Di sini, kita perlu menentukan nama lajur yang perlu dikumpulkan.
Ringkasan
Pembina Pertanyaan Laravel menyediakan set operasi pertanyaan yang kaya yang boleh membantu kami membina pelbagai pernyataan pertanyaan kompleks dengan mudah. Artikel ini memperkenalkan penggunaan asas Pembina Pertanyaan Laravel, termasuk menyambung ke pangkalan data, menanyakan semua data, menanyakan data lajur yang ditentukan, pertanyaan bersyarat, pertanyaan kabur, pertanyaan pengisihan, pertanyaan pengagregatan dan pertanyaan pengelompokan, dsb. Saya harap kandungan ini akan membantu anda menggunakan Laravel Query Builder dengan lebih baik untuk membina pertanyaan yang kompleks.
Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk membina pertanyaan kompleks menggunakan Pembina Pertanyaan Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!