Maison >base de données >tutoriel mysql >Comment utiliser « whereIn » de Laravel avec une sous-requête ?
Sous-requête Laravel avec la clause WHERE IN
Une tâche courante dans Laravel consiste à récupérer des données à l'aide d'une sous-requête dans une clause WHERE IN. Pour y parvenir, vous pouvez utiliser la méthodewhereIn() avec une fermeture.
Par exemple, disons que vous avez la requête suivante :
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
Pour traduire cette requête en Laravel, vous peut utiliser le code suivant :
Products::whereIn('id', function($query){ $query->select('paper_type_id') ->from(with(new ProductCategory)->getTable()) ->whereIn('category_id', ['223', '15']) ->where('active', 1); }) ->get();
Dans ce code:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!