Laravel查询构建器-如何按别名分组或进行原始分组

杰夫·克莱顿

我的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Laravel查询构建器分组

原始查询中的laravel查询构建器

原始 SQL 到 Laravel 查询构建器

Laravel 查询构建器按状态搜索

将原始查询转换为Laravel查询构建器

如何从 laravel 的原始查询构建器对象返回数据

如何按列名分组并确保查询检索到最近的更新

Laravel 5-获取按列分组的查询构建器结果

如何在 Laravel 查询构建器中编写子查询

Laravel查询构建器-如何按关系字段过滤

如何按日期对查询进行排序和分组,并在Laravel中将其分组为数组

在laravel查询构建器中保留别名

如何使用Laravel的“查询”构建器还原软删除的记录?

如何使用laravel查询构建器嵌套WHERE加AND条件?

如何在 Laravel 查询构建器中获取特定值

如何在Laravel中查询构建器选择内部选择

如何修改已执行的 Laravel 查询构建器

如何将 sql 转换为查询构建器 laravel

Laravel 查询构建器如何忽略某些列

如何在orm中按查询对结果进行分组

如何在Django中按属性对查询集进行分组

如何进行按名称计数、求和和分组的查询?

如何按 Django 中的特定字段对查询集进行分组?

查询构建器对象在先前构建的对象中看不到别名(Laravel)

按 ID 和别名分组?

Laravel:如何在Laravel查询构建器中使用派生表/子查询

如何使用 Laravel 按日期对记录进行分组和计数?

如何使按查询分组更快?

使用Laravel查询构建器按相关/联合表中的字段进行搜索