2012-10-20 7 views
0

, 내가 같이 현재 일정을 얻을 수있는 조건이 포함되어 사용하고 조건 날짜 필터 또는 제한 레코드를 포함 : 그것은 잘 작동CakePHP의 내 발견에

$this->request->data = $this->Employee->find('first', array(
     'conditions' => array('Employee.emp_appserial' => $id), 
     'contain' => array(
      'Schedule' => array(
       'conditions' => array('ho_valid <=' => date('Y-m-d'), 'ho_status' => 1) 
      ) 
     ) 
    )); 

하지만, 조건이 충족 될 때 하나 이상의 레코드 지금은 가까운 레코드 만 필요합니다.

나는 SQL 질문이 더 많다는 것을 알고 있지만 포함 조건 형식에 맞게 필터가 필요합니다.

도와 주시겠습니까?

정말 고마워요.

+0

그나마 u는 첫 번째 레코드를 얻을? 지금 가까이에 무슨 뜻이야? –

+0

@Myed Ansari. 기준을 충족하는 2 개의 레코드가 있습니다. ho_valid <=' => date ('Y-m-d'); 나는 단지 지금 더 가까운 것을 필요로한다 (날짜 ('Y-m-d')) thx! –

답변

0

그래서 당신은 당신이 최신 첫 번째 레코드를 달성 할 수 있도록 날짜에 의해 순서를 추가하고 제한을 적용 할 필요가

$this->request->data = $this->Employee->find('first', array(
     'conditions' => array('Employee.emp_appserial' => $id), 
     'contain' => array(
      'Schedule' => array(
       'conditions' => array('ho_valid <=' => date('Y-m-d'), 'ho_status' => 1), 
       'order' => 'ho_valid' 
       'limit' => 1 
      ) 
     ) 
    )); 
+0

감사합니다. @Myed Ansari; 가장 최근에 가장 가까운 것을 얻기 위해 'desc'를 추가해야했습니다. 도와 주셔서 정말 고맙습니다. :-) –