Laravel Query Builder - 如何为子查询添加别名?

问题描述 投票:2回答:1

如果我有以下代码:

DB::table('A')->join(DB::table('B'), ...)

这导致这个sql:

select * from "A" inner join (select * from "B") on ...

我该如何为子查询添加别名?和select * from "A" inner join (select * from "B") as "Boron" on ...一样

我宁愿不必使用原始的sql。

laravel query-builder
1个回答
0
投票

子查询的简单解决方案是DB :: raw,它也可以解决别名。

        $items = DB::table('A as Amy')
            ->select('*')
            ->join(
                DB::raw("(select * from B) as Boron"),
                'Amy.keyA', '=', 'Boron.keyB')
            ->get();
© www.soinside.com 2019 - 2024. All rights reserved.