2012-10-20 71 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

不ü得到的第一个记录?你现在接近的意思是什么? –

+0

@Moyed 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

谢谢@Moyed Ansari;只需添加'desc'即可获得最接近的最新版本。我非常感谢你的帮助。 :-) –