Construtor de consultas do Laravel - Como agrupar por alias ou agrupar bruto
Meu aplicativo Laravel 5 inclui um construtor de consultas dinâmico para execução de relatórios. Preciso de um grupo de cláusulas e encontrei um problema. Se eu usar sql real, posso ter problemas, pois às vezes é necessário haver um comando sql entre o sql (em oposição aos nomes simples das colunas), ou seja, -DAYNAME(table_name.date_column)
. O Laravel gerencia isso:
\`DAYNAME(table_name\`.\`date_column)\`
Para a parte select da minha consulta, posso usar selectRaw, mas não parece haver um equivalente para agrupar por.
Pensei em usar aliases (todos os selects são aliases), mas o Laravel os envolve também em caracteres "" ". Além disso - meu aplicativo precisa trabalhar com o MySQL e o SQL Server e, até onde eu saiba, o último não permite aliases no grupo por seção da consulta.
Eu posso encontrar o método em Illuminate \ Database \ Query \ Grammars \ Grammar, onde o grupo por é compilado (compileGroups) e suponho que eu possa substituí-lo, mas não tenho muita certeza de como iria fazer isso (leia os documentos do Laravel )