Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

¿Dónde puedo encontrar información de manipulación de fecha/hora en Doctrine?

30 de abril de 2015

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

#1

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

1 mayo 2015, 20:30
#2

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

2 mayo 2015, 22:48
#3

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

4 mayo 2015, 14:09
#4

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

4 mayo 2015, 23:26
#5

El problema es que la base de datos esMicrosoft SQL Server.

@dariongg

5 mayo 2015, 13:45