Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/03/2017, 07:58
X_fran
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: DQL obtener niños con edad igual a X meses

Bueno, he encontrado la solución, por muy sencilla que parezca me llevó tiempo calcularla,:
digamos que queremos obtener los niños que están en la edad comprenida en los 6 meses. Simplemente calculo en qué fecha caen 7 meses completos y a esta le sumo 1 día, comparando la nueva fecha exacta en la que se cumplen 6 meses exactos hacia atrás a partir de la actual, de esta forma obtendría la fecha de 6 meses más los días antes de cumplirse el séptimo mes:

Código PHP:
$edaDelFiltro 6;
$mesesCompletos=$edaDelFiltro+1;
$dql="SELECT n FROM AppBundle:Ninho n WHERE n.fechaNacimiento BETWEEN DATE_ADD(DATE_SUB(CURRENT_DATE(), :mesesCompletos, 'MONTH'),1,'DAY') AND DATE_SUB(CURRENT_DATE(), :mesFiltro, 'MONTH')";
$query->setParameter('mesesCompletos'$mesesCompletos);
$query->setParameter('mesFiltro'$edaDelFiltro );