如何在 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();

关于php - 如何在 Laravel 中执行此操作,子查询 where,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16815551/

10-16 15:44