如何在cakephp中找到最新的记录?

时间:2013-07-03 17:03:24

标签: mysql cakephp

我有一个包含request_time列的表。将有多个请求,我想获得特定用户名的最新请求:

$this->Requests->find('all', 'conditions' => array (
                                               'username' => $username, 
                                               'MAX'=> 'request_time'));

以上不起作用。在Cakephp中有什么东西,还是我需要自己做 - > query()?

2 个答案:

答案 0 :(得分:12)

您可以使用以下内容:

$this->Requests->find('first', array('conditions' => array('username' => $username), 
                               'order' => array('id' => 'DESC') ));

其中id是自动递增的主键。 如果您在查找方法中使用first,则会为您提供最新(单个)记录,或者使用all代替。

如果您不使用主键,可以尝试以下操作:

$this->Requests->find('first', array('conditions' => array('username' => $username), 
                               'order' => array('request_time' => 'DESC') ));

答案 1 :(得分:3)

如果你有自动递增的主键,那么你找到这个表的最新记录试试这个

$this->Requests->find('find', 'conditions' => array ('username' => $username), 
                              'order' => array('id' => 'DESC') 
                      );