2011-10-06 2 views

답변

4

교리가 식을 빠져 있기 때문에 아무것도 반환하지 않는 이유는 - 생성 된 SQL이

WHERE (date > 'DATE_SUB(CURDATE(), INTERVAL 7 DAY)') 

보다는

WHERE (l.action_time > DATE_SUB(CURDATE(), INTERVAL 7 DAY)) 

당신은 그것을 강제 할 수있다 이런 식으로 일하십시오 :

$date = new Doctrine_Expression('DATE_SUB(CURDATE() , INTERVAL 7 DAY)'); 
$q->where('date > ' . $date); 

그러나 이것은 가장 안전한 옵션이 아닙니다. 입력이 이스케이프되지 않고 좋은 연습이 아니기 때문에 ...

+0

Symfony2에서 Doctrine2를 사용하고 있는데, 위의 제안을 시도했지만 \ Doctrine_Expression을 찾을 수 없다고합니다. in. 내 저장소에서 Doctrine_Expression을 어떻게 사용할 수 있는지 알려주시겠습니까? – ScoRpion

+0

이 질문은 Doctrine 1.2에 관한 것입니다. Doctrine 2는 완전히 다른 제품입니다. –