Subkueri Laravel dengan Klausa WHERE IN
Tugas biasa dalam Laravel ialah untuk mendapatkan semula data menggunakan subkueri dalam klausa WHERE IN. Untuk mencapai ini, anda boleh menggunakan kaedah whereIn() dengan penutupan.
Sebagai contoh, katakan anda mempunyai pertanyaan berikut:
SELECT `p`.`id`, `p`.`name`, `p`.`img`, `p`.`safe_name`, `p`.`sku`, `p`.`productstatusid` FROM `products` p WHERE `p`.`id` IN ( SELECT `product_id` FROM `product_category` WHERE `category_id` IN ('223', '15') ) AND `p`.`active`=1
Untuk menterjemah pertanyaan ini ke dalam Laravel, anda boleh menggunakan kod berikut:
Products::whereIn('id', function($query){ $query->select('paper_type_id') ->from(with(new ProductCategory)->getTable()) ->whereIn('category_id', ['223', '15']) ->where('active', 1); }) ->get();
Dalam ini kod:
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan `whereIn` Laravel dengan Subquery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!