Laravel 中使用子查询

Posted 知其黑、受其白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 中使用子查询相关的知识,希望对你有一定的参考价值。

阅读目录

子查询

子查询(Sub Query),也称作内查询(Inner Query)或嵌套查询(Nested Query),是一种嵌套在其他 SQL 查询的 WHERE 子句中的查询。

自带闭包

User::whereIn('id', function($query) 
    $query->select('user_id') 
    ->from('admin_user') 
    ->whereIn('type', ['1', '2']); 
)->get();

获得的 SQL 如下:

SELECT * FROM `user` where `id` IN (
    SELECT `user_id` FROM `admin_user` WHERE `type` IN (1, 2)
);

以上是关于Laravel 中使用子查询的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:嵌套查询连接导致子数组

Laravel Query Builder 在“whereIn”语句的子查询中使用父查询?

如何在 Laravel-5 中构建子查询 [重复]

如何在 Laravel 中使用查询构建器来做到这一点? (子查询 WHERE NOT IN)

使用 Laravel 查询构建器方法 whereIn() 和子查询

Laravel Query Builder 在按 ID 分组的查询中按子查询减去 COUNT