Laravel 子查詢Where In
查詢:
您需要在中執行以下查詢Laravel:
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
解決方案:
解:Products::whereIn('id', function($query){ $query->select('paper_type_id') ->from(with(new ProductCategory)->getTable()) ->whereIn('category_id', ['223', '15']) ->where('active', 1); }) ->get();
要在Laravel中使用子查詢實現此目的,您可以使用以下程式碼:
說明:
whereIn 方法允許您指定列的值應與提供的陣列中的任何值匹配。在本例中,您想要選擇 id 列出現在product_category 表的product_id 欄位中的所有產品,其中category_id 欄位是“223”或“15”,且活動列等於1。 提供的程式碼使用閉包來定義子查詢。在閉包中,您定義一個查詢,從product_category 表中檢索product_id 欄位。然後查詢根據指定條件過濾結果,最終傳回所需的product_id值。以上是如何在 Laravel 中執行子查詢 WHERE IN 子句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!