Laravel 4 查询生成器加入数据库原始

Posted

技术标签:

【中文标题】Laravel 4 查询生成器加入数据库原始【英文标题】:Laravel 4 query builder join DB raw 【发布时间】:2016-03-09 03:34:41 【问题描述】:

我正在使用 laravel 4 并且有这样的 sql 查询

select a.*, v.* from (select * from application order by id desc)a join vacancy v on a.vacancy_id = v.id group by a.email

我的问题是如何在查询生成器中编写代码

【问题讨论】:

【参考方案1】:

你可以试试这样的。 (未经测试)

$subQuery = DB::table('application')->orderBy('id', 'desc');

$result = DB::table(\DB::raw("($subQuery->toSql()) as a"))
    ->mergeBindings($subQuery)
    ->selectRaw("a.*, v.*")
    ->join('vacancy as v', 'a.vancancy_id', 'v.id')
    ->groupBy('a.email')
    ->get();

【讨论】:

hy chanafdo 感谢您的回答,但我对您的代码有疑问 ->getQuery() 的含义是什么,因为我正在尝试但在 getQuery() 中出错 谢谢 哦,对不起,好的,但仍然错误每个派生表都必须有自己的别名

以上是关于Laravel 4 查询生成器加入数据库原始的主要内容,如果未能解决你的问题,请参考以下文章

加入的 Laravel 查询生成器计数

获取 laravel 4 迁移执行的原始 SQL

我如何将 SQL 原始查询重写为 Laravel 查询生成器

Laravel json join,尝试加入具有多个 id 的 JSON 列和具有位置 id 的位置表,查询生成器

如何在执行查询之前从Laravel的查询生成器获取原始查询字符串?

Laravel 查询生成器/如何阻止它添加方 [括号]?