我的Laravel 5应用程序包括一个动态查询构建器,用于运行报表。我需要在其中加入一些group by子句,但是遇到了问题。如果我在这里使用实际的SQL语句,有时会出现问题,因为有时需要在SQL语句中插入SQL命令(而不是简单的列名),例如 - DAYNAME(table_name.date_column)
。 Laravel会破坏它:
\`DAYNAME(table_name\`.\`date_column)\`
对于我的查询的选择部分,我可以使用selectRaw,但是似乎没有相应的用于group by的方法。
我考虑使用别名(所有选择都已命名别名),但Laravel也将它们用"`"字符包装起来。此外-我的应用程序需要与MySQL和SQL Server一起使用,并且据我所知,后者不允许在查询的group by部分中使用别名。
我可以在Illuminate\Database\Query\Grammars\Grammar中找到编译group by的方法(compileGroups),我想我可以覆盖它,但是我不太确定该如何实施(已阅读了Laravel文档)。
GROUP BY column DESC
... 这个答案帮了我大忙,谢谢! - SodjORDER BY column DESC
- Yuvrajsinh Jhala