Sebagai rangka kerja pembangunan PHP yang popular, Laravel telah memenangi hati ramai pembangun. Dalam pembangunan sebenar, banyak senario memerlukan pertanyaan berbilang syarat pada pangkalan data Pada masa ini, Laravel menyediakan banyak kaedah yang mudah untuk diproses. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk melaksanakan pertanyaan berbilang syarat.
Sebelum memperkenalkan kaedah pelaksanaan khusus, kita perlu memahami beberapa konsep asas.
Pembina pertanyaan Laravel menyediakan pelbagai kaedah pertanyaan, termasuk di mana, atauDi mana, di mana, di manaNotIn, di manaAntara, di manaNotBetween dan banyak lagi. Antaranya, di mana dan atauDi mana kaedah yang paling biasa digunakan.
Gunakan kaedah where untuk membuat pertanyaan berdasarkan syarat yang ditentukan. Kod sampel adalah seperti berikut:
$users = DB::table('users')->where('name', 'John')->get();
Kod di atas akan menanyakan semua pengguna bernama John daripada jadual pengguna.
Gunakan kaedah orWhere untuk menambah satu atau lebih syarat "atau". Kod sampel adalah seperti berikut:
$users = DB::table('users') ->where('name', 'John') ->orWhere('name', 'Jane') ->get();
Kod di atas akan menanyakan semua pengguna yang bernama John atau Jane daripada jadual pengguna.
Selain kaedah where dan orWhere, pembina pertanyaan Laravel juga menyediakan pelbagai kaedah pertanyaan lain, yang tidak akan diterangkan di sini. Untuk butiran lanjut, lihat dokumentasi rasmi Laravel.
ORM Fasih ialah pelaksanaan pemetaan hubungan objek (ORM) Laravel yang membolehkan kami menggunakan objek PHP dan bukannya pernyataan SQL untuk mengendalikan jadual pangkalan data.
Untuk menggunakan Eloquent ORM untuk membuat pertanyaan, anda perlu mentakrifkan model terlebih dahulu Kod sampel adalah seperti berikut:
namespace App; use IlluminateDatabaseEloquentModel; class User extends Model { protected $table = 'users'; }
Dalam kod di atas, jadual pangkalan data yang sepadan dengan model Pengguna ialah pengguna. .
Selepas menentukan model, kita boleh menggunakan Eloquent ORM untuk melakukan pertanyaan berbilang syarat. Kod sampel adalah seperti berikut:
$users = User::where('name', 'John') ->orWhere('name', 'Jane') ->get();
Kod di atas akan menanyakan semua pengguna yang bernama John atau Jane daripada jadual pengguna, dengan cara yang sama seperti menggunakan pembina pertanyaan.
Selain kaedah where dan orWhere, Eloquent ORM juga menyediakan pelbagai kaedah pertanyaan lain, yang tidak akan diterangkan di sini. Untuk butiran lanjut, lihat dokumentasi rasmi Laravel.
Dalam pembangunan sebenar, kita selalunya perlu melakukan pertanyaan berbilang syarat. Berikut mengambil pertanyaan pengguna mudah sebagai contoh untuk memperkenalkan cara menggunakan Eloquent ORM untuk melaksanakan pertanyaan berbilang syarat.
Andaikan kita mempunyai jadual pengguna dengan medan berikut:
Kami perlu menyoal semua pengguna yang memenuhi syarat berikut:
Menggunakan Eloquent ORM ia boleh dilaksanakan seperti berikut:
$users = User::where('gender', 'male') ->whereBetween('age', [20, 30]) ->where('name', 'like', 'J%') ->where('email', 'like', '%@example.com') ->get();
Kod di atas mula-mula menggunakan kaedah where untuk menapis pengguna yang jantinanya lelaki, kemudian menggunakan kaedah whereBetween untuk menapis pengguna yang berumur antara 20 dan 30 tahun, kemudian menggunakan kaedah where untuk menapis keluar pengguna yang namanya bermula dengan "J", dan akhirnya menggunakan tempat Kaedah ini menapis pengguna yang peti melnya berakhir dengan "@example.com", dan membungkus semua pengguna yang memenuhi syarat ke dalam set dan mengembalikannya.
Pertanyaan berbilang syarat ialah keperluan biasa dalam pembangunan Dalam Laravel, kita boleh menggunakan pembina pertanyaan atau Eloquent ORM untuk melaksanakan pertanyaan berbilang syarat. Pembina pertanyaan menyediakan pelbagai kaedah pertanyaan yang boleh dipilih mengikut keperluan khusus ORM Fasih boleh menggunakan kaedah yang serupa dengan kaedah objek untuk melaksanakan pertanyaan berbilang syarat. Sudah tentu, kaedah mana yang hendak digunakan bergantung pada situasi tertentu dan keutamaan peribadi. Tidak kira kaedah yang digunakan, kami boleh melaksanakan pertanyaan berbilang syarat dengan mudah.
Atas ialah kandungan terperinci laravel melaksanakan pertanyaan berbilang syarat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!