我想选择1个月或更新的记录.
查询是:SELECT*FROM foobar WHERE created_at> DATE_SUB(curdate(),INTERVAL 1 MONTH)
在Symfony中使用Propel,我做:
$ c = new Criteria
$ c-> add(FoobarPeer :: CREATED_AT,"DATE_SUB(curdate(),INTERVAL 1 MONTH)",Criteria :: GREATER_THAN);
Propel生成的是:SELECT*FROM foobar WHERE created_at>'DATE_SUB(curdate(),INTERVAL 1 MONTH)' - 换句话说,它将MySQL函数放在单引号中,这使得它成为一个(无意义的)字符串而我得不到记录.
我现在所做的是:
$ c-> add(FoobarPeer :: CREATED_AT,"created_at> DATE_SUB(curdate(),INTERVAL 1 MONTH)",Criteria :: CUSTOM);
但除非必须,否则我不想使用自定义变通方法.除了使用Criteria :: CUSTOM之外的任何提示?