Wie verwende ich MySQL-Funktionen in Propel
Ich möchte Datensätze auswählen, die 1 Monat alt oder neuer sind.
Die Abfrage lautet: SELECT * FROM FOOBAR WHERE erstellt_at> DATE_SUB (curdate (), INTERVAL 1 MONTH)
Mit Propel in Symfony mache ich:
$ c = neue Kriterien
$ c-> add (FoobarPeer :: CREATED_AT, "DATE_SUB (curdate (), INTERVAL 1 MONTH)", Criteria :: GREATER_THAN);
Was Propel generiert ist: SELECT * FROM FOBAR WHERE created_at> 'DATE_SUB (curdate (), INTERVAL 1 MONTH)' - mit anderen Worten, es setzt die MySQL-Funktion in einfache Anführungszeichen, was es zu einem (bedeutungslosen) String macht und ich bekomme keine Aufzeichnungen
Was ich jetzt gemacht habe ist:
$ c-> add (FoobarPeer :: CREATED_AT, "created_at> DATE_SUB (curdate (), INTERVAL 1 MONTH)", Criteria :: CUSTOM);
Aber ich möchte keine benutzerdefinierten Problemumgehungen verwenden, es sei denn, ich muss. Irgendwelche Hinweise außer der Verwendung von Criteria :: CUSTOM?