Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Melaksanakan Pertanyaan PILIH dengan Pengecualian Subkueri Menggunakan Pembina Pertanyaan CodeIgniter?
CodeIgniter menawarkan pembina pertanyaan serba boleh yang memudahkan penciptaan pertanyaan SQL kompleks dalam PHP. Satu pertanyaan sedemikian ialah pertanyaan SELECT dengan pengecualian subkueri. Pertanyaan ini membolehkan anda mendapatkan semula baris daripada jadual berdasarkan syarat yang mengecualikan baris tertentu daripada jadual lain, seperti yang dinyatakan dalam pernyataan SQL berikut:
SELECT * FROM certs WHERE id NOT IN (SELECT id_cer FROM revokace);
Untuk mereplikasi pertanyaan ini menggunakan pembina pertanyaan CodeIgniter, anda boleh memanfaatkan kaedah where(). Kaedah ini menerima hujah rentetan yang mewakili keadaan pertanyaan:
$this->db->select('*') ->from('certs') ->where('`id` NOT IN (SELECT `id_cer` FROM `revokace`)', NULL, FALSE);
Dalam kod ini, argumen ,NULL,FALSE dalam kaedah where() menghalang CodeIgniter daripada melarikan pertanyaan, memastikan pelaksanaannya yang betul.
Sebagai alternatif, anda boleh menggunakan perpustakaan subquery untuk memudahkan proses selanjutnya:
$this->db->select('*') ->from('certs'); $sub = $this->subquery->start_subquery('where_in'); $sub->select('id_cer') ->from('revokace'); $this->subquery->end_subquery('id', FALSE);
Dengan menggunakan pembina pertanyaan CodeIgniter dan kaedah where() atau subquery, anda boleh dengan mudah melaksanakan pertanyaan SELECT kompleks dengan pengecualian subquery dalam aplikasi PHP anda.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan PILIH dengan Pengecualian Subkueri Menggunakan Pembina Pertanyaan CodeIgniter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!