Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Subkueri Bersarang dengan WHERE IN dalam Laravel?

Bagaimana untuk Melaksanakan Subkueri Bersarang dengan WHERE IN dalam Laravel?

Barbara Streisand
Barbara Streisandasal
2024-12-10 05:00:14857semak imbas

How to Perform a Nested Subquery with WHERE IN in 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!

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