2013-07-03 4 views
6

У меня есть таблица с столбцом request_time. Там будет несколько запросов, и я хочу, чтобы получить последнюю просьбу конкретного пользователя:Как найти последнюю запись в cakephp?

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

выше не работает. Есть что-то в Cakephp или мне нужно сделать свой собственный -> query()?

+0

ли вы автоинкрементным первичный ключ? –

+0

Это больше о запросах, основанных на времени, но я могу видеть, как использовать ID. – trafalgar

ответ

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'))); 
3

Если у вас есть первичный ключ автоинкрементного то найти последнюю запись этой таблицы попробовать это

$this->Requests->find('find', 'conditions' => array ('username' => $username), 
           'order' => array('id' => 'DESC') 
        ); 
Смежные вопросы