gpt4 book ai didi

php - 如何使用 Laravel 的查询生成器在 JOIN 查询中生成 USING 子句?

转载 作者:行者123 更新时间:2023-11-29 13:27:17 26 4
gpt4 key购买 nike

PostgreSQL 支持 USING JOIN 语句中的子句,我想用它来简化我的查询。例如:

 select * from a join b using (x, y, z) where ... order by x;

如何使用 Laravel 的查询构建器或 Eloquent 来表达这一点?

DB::table('a')
->select('*')
->join('b', function($join))
->where(...)
->orderBy('x');

注意这个问题不同于https://stackoverflow.com/questions/31465918/how-to-generate-a-natural-join-query-with-laravels-query-builder我问的是 NATURAL JOIN,而不是 JOIN USING。

此外,我知道我可以用多个 $join->on(...) 语句产生几乎相同的效果,但是我有重复的列并且必须始终限定列在 ab 中。也就是说,我必须写 'a.x' 而不是 'x' 即使这无关紧要,因为连接查询确保两者相等反正。 USING 子句巧妙地解决了这个问题,它只生成一个结果列 x,知道只有一个值。

最佳答案

所以,答案是 - 这是不可能的。

我在Laravel 5上继续这个问题,还是不行。

我的问题 - Laravel 5. Using the USING operator

我的拉取请求 - https://github.com/laravel/framework/pull/12773

关于php - 如何使用 Laravel 的查询生成器在 JOIN 查询中生成 USING 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31466007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com