如何将此查询转换为laravel db查询。
SELECT * FROM {
Select * from organizers
Order by organizers.rank
} Group by t.department
这是查询的简化版本。实际上,内部查询具有更多的where子句,并使用laravel db查询构建。
编辑:我知道原始查询。但这不是我想要的。内部查询很复杂,并且有很多条件where子句。我想保留在那里使用的数据库查询对象。
答案 0 :(得分:1)
您可以有2个不同的查询生成器,并按如下所示合并它们的绑定:
$innerQuery = DB::table('organizers')->orderBy('organizers.rank');
$mainQuery = DB::table(DB::raw('(' . $innerQuery->toSql() . ') as t'))
->mergeBindings($innerQuery->getQuery())
->groupBy('t.department')
->get();
这还将帮助您零售$innerQuery
构建器实例,以供您稍后在问题中使用。
答案 1 :(得分:0)
我认为您将不得不执行原始查询。
$result = DB::select("SELECT * FROM (
Select * from organizers
Order by organizers.rank
) Group by t.department");