我的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,据我所知,后者不允许在查询的分组部分使用别名。
我可以在Illuminate \ Database \ Query \ Grammars \ Grammar中找到编译group by的方法(compileGroups),我想可以覆盖它,但是我不太确定该如何处理(已阅读Laravel文档)。
如果您想进行原始分组,则可以执行以下操作...
...->groupBy(DB::raw('some_alias'))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句