在 Laravel 中使用 WHERE IN 执行嵌套子查询
在 Laravel 中,您可以使用 whereIn 方法执行嵌套子查询。此技术通常用于根据子查询派生的条件来选择记录。
要执行问题中提供的查询,您可以使用以下 Laravel 代码:
Products::whereIn('id', function($query){ $query->select('product_id') ->from(with(new ProductCategory)->getTable()) ->whereIn('category_id', ['223', '15']) ->where('active', 1); }) ->get();
在此代码中,内部子查询选择满足指定条件的product_id值并将它们放入临时表中。然后,外部查询使用这些值作为其 WHERE IN 子句的一部分来检索相应的产品记录。
出于性能考虑,此方法优于使用联接,因为子查询生成的临时表可以是数据库引擎更有效地使用。
以上是如何在 Laravel 中使用 WHERE IN 执行嵌套子查询?的详细内容。更多信息请关注PHP中文网其他相关文章!