2013-10-24 1 views
0

많은 데이터베이스 사용자가 포함 된 cakephp 응용 프로그램에 users이라는 데이터베이스 테이블이 있고 그 테이블에 각 사용자의 등록 날짜가 포함 된 date이라는 필드가 있다고 가정 해 보겠습니다. 예를 들어 지난 달에 등록 된 모든 사용자를 찾기 위해 검색어를 찾고 싶다고 가정 해 봅시다. 예 :영어 텍스트 날짜 표현 cakephp 찾기 쿼리

$last_month_users = $this->User->find('all', array(
    'conditions' => array(
     'User.date' => 'last month' 
    ) 
)); 

이와 비슷한 현상이 발생합니다. 어떻게 내가 이걸 할 수 있겠 어?

: 다음을 수행하여 당신이 CakePHP에서이 작업을 수행 할 수 있습니다 생각

WHERE MONTH(User.date) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH) 

: 당신이 MySQL을 사용하는 경우

당신은 당신의 문에 추가 찾고, 당신에게

답변

1

감사
$last_month_users = $this->User->find('all', array(
    'conditions' => array(
     'MONTH(User.date) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)' 
    ) 
)); 
+0

이 쿼리는 cakephp에서 작동하지 않습니다. – user765368

+0

mysql을 사용하고 있습니까? 디버그 입력을 켜서 find 문에 대해 생성하려고하는 mysql 쿼리를 확인 했습니까? – Kai

+0

예 디버그가 있고 실행하려고하는 쿼리는 다음과 같습니다. SELECT'User'.'id','User'.'first_name','User'.last_name','User'.'email' , 'User'.'''date''''''''''''''''''''''' 수정 된''사용자''사용자''사용자'WHERE MONTH ('User'.'date') ='MONTH (CURRENT_DATE - INTERVAL 1 MONTH) ' 어떤 배열을 반환하고 비어 – user765368