Quiero seleccionar registros que tienen 1 mes o más.Cómo usar las funciones de MySQL en Propel
La consulta es: SELECT * FROM foobar DONDE created_at> DATE_SUB (CURDATE(), el intervalo de 1 mes)
El uso de Propel en Symfony, que hago:
$ c = new Criteria
$ c-> add (FoobarPeer :: CREATED_AT, "DATE_SUB (curdate(), INTERVAL 1 MONTH)", Criterios :: GREATER_THAN);
Lo que genera Propel es: SELECT * FROM foobar DONDE created_at> 'DATE_SUB (CURDATE(), INTERVALO DE 1 MES)' - en otras palabras, se pone la función de MySQL entre comillas simples, lo que hace que sea un (sentido) cadena y no obtengo ningún registro.
Lo que he hecho por ahora es:
$ c-> añadir (OtraclasePeer :: created_at, "created_at> DATE_SUB (CURDATE(), el intervalo de 1 mes)", Criteria :: CUSTOM) ;
Pero no quiero utilizar soluciones personalizadas a menos que sea necesario. ¿Algún consejo además de usar Criteria :: CUSTOM?
Dado que Propel ha evolucionado mucho desde que se respondió esta pregunta, aquí hay algunas consideraciones (escritas por el líder del proyecto Propel), que indican cuándo es relevante usar un ORM o SQL sin procesar: http: //propel.posterous. com/how-can-i-write-this-query-using-an-orm –