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

を試してみてください。この表の最新のレコードを検索:

idがautoの主要インクリメントさ
$this->Requests->find('first', array('conditions' => array('username' => $username), 
           'order' => array('id' => 'DESC'))); 

キー。 これは、findメソッドで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') 
        ); 
関連する問題