AL menos dos observaciones:
1) NO pongas los nombres de los tipos de dato entre apóstrofes. No son textos, son datatypes.
Código SQL:
Ver originalSELECT 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)
2) No compliques el cálculo. SI lo que quieres es la lista de niños nacidos en los últimos seis meses, incluyendo el día de hoy, es mas simple:
Código SQL:
Ver originalSELECT n FROM AppBundle:Ninho n
WHERE n.fechaNacimiento
BETWEEN DATE_SUB(CURRENT_DATE(), :mesesCompletos, MONTH)
AND CURRENT_DATE();
o si quieres:
Código SQL:
Ver originalSELECT n FROM AppBundle:Ninho n
WHERE n.fechaNacimiento >= DATE_ADD(DATE_SUB(CURRENT_DATE(), :mesesCompletos, MONTH),1, DAY) ;
Dado que la fecha de nacimiento nunca será posterior al día en curso, el segundo parametro es innecesario, a menos que quieras un rango específico. Y en ese caso te conviene directament trabajar con fechas:
Código SQL:
Ver originalSELECT n FROM AppBundle:Ninho n
WHERE n.fechaNacimiento
BETWEEN DATE(:fechainicial)
AND DATE(:fechafinal)