Hola
Tengo una consulta hecha con Doctrine en Symfony. Hay una entidad donde se registra los tickets emitidos. Los datos principales son: usuario, fecha/hora y tipo de tickets (almuerzo, colación, transporte).
Lo que quiero hacer es agrupar los tickets por usuario, fecha de emisión (solo fecha) y cantidad de tickets.
Mi problema es que no se cómo agrupar la fecha, porque está compuesta del día + la hora y sólo quiero mostrar el día de emisión. ¿Hay una forma de hacerlo?
Gracias.
Respuestas
No sé si te he entendido bien, quieres mostrar la fecha solo en la plantilla, supongo que usas Twig, puedes usar este filtro por ejemplo:
{{ post.published_at|date("m/d/Y") }}
@AlbertoVioque
Como dice Alberto, en tu caso lo que quieres es simplemente modificar la fecha a la hora de mostrarla, por lo que no debería afectarte en nada a la consulta de Doctrine. Haz la consulta sin preocuparte de la fecha y luego usa el filtro date
de Twig para mostrar lo que quieras.
@javiereguiluz
El problema es que estoy agrupando (por una consulta doctrine) datos por usuario y fecha, pero el campo fecha está compuesto de fecha/hora. Y el problema para realizar la agrupación por ese campo.
Tengo esto:
usuario1, fecha1/hora1, otros usuario3, fecha1/hora1, otros usuario3, fecha2/hora4, otros usuario1, fecha1/hora6, otros
Resultado seria
usuario1, fecha1, count = 2 usuario3, fecha1, count = 1 usuario3, fecha2, count = 1
Pero no se cómo agrupar por la fecha.
@dariongg
Yo lo que haría en tu caso, sería instalar la función CAST
y realizar la consulta de la siguiente manera:
SELECT ..., CAST(t.fecha AS DATE) AS groupDate FROM t ... WHERE ... GROUP BY groupDate
Para instalar funciones adicionales en Doctrine puedes seguir los pasos que se describen en el repositorio github.com/orocrm/doctrine-extensions
@javiermadueno
El problema es que la base de datos esMicrosoft SQL Server.
@dariongg