Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Subkueri Bersarang dengan WHERE IN dalam Laravel?
Melaksanakan Subkueri Bersarang dalam Laravel dengan WHERE IN
Dalam Laravel, anda boleh melaksanakan subkueri bersarang menggunakan kaedah whereIn. Teknik ini sering digunakan untuk memilih rekod berdasarkan kriteria yang diperoleh daripada subkueri.
Untuk melaksanakan pertanyaan yang diberikan dalam soalan, anda boleh menggunakan kod Laravel berikut:
Products::whereIn('id', function($query){ $query->select('product_id') ->from(with(new ProductCategory)->getTable()) ->whereIn('category_id', ['223', '15']) ->where('active', 1); }) ->get();
Dalam ini kod, subquery dalam memilih nilai product_id yang memenuhi kriteria yang ditentukan dan meletakkannya dalam jadual sementara. Pertanyaan luar kemudiannya menggunakan nilai ini sebagai sebahagian daripada klausa WHERE IN untuk mendapatkan semula rekod produk yang sepadan.
Pendekatan ini lebih diutamakan daripada menggunakan gabungan kerana pertimbangan prestasi, kerana jadual sementara yang dijana oleh subkueri boleh digunakan dengan lebih cekap oleh enjin pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Subkueri Bersarang dengan WHERE IN dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!