首页 > 解决方案 > 在 laravel 中创建子查询

问题描述

如何将以下 SQL 查询转换为 Laravel 查询生成器?

select
    *
from
    users
where
    EXISTS (
    SELECT
        *
    from
        posts
    where
        posts.created_by = users.id )

标签: laravellaravel-5

解决方案


以下应该有效:

DB::table('users')
    ->whereExists(function ($query) {
        $query->select('*')
            ->from('posts')
            ->whereRaw('posts.created_by = users.id');
    })
    ->get();

您还可以查看文档。


推荐阅读