我有一个包含request_time列的表。将有多个请求,我想获得特定用户名的最新请求:
$this->Requests->find('all', 'conditions' => array (
'username' => $username,
'MAX'=> 'request_time'));
以上不起作用。在Cakephp中有什么东西,还是我需要自己做 - > query()?
答案 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')
);