2012-03-11 16 views
0

私は500人のユーザーがいるテーブルがあります。最後の100人の登録ユーザをホームページに表示する必要があります。だから私はsfDoctrinePagerでsymfonyとページネーションを使用しています。Symfony Doctrine sfDoctrinePagerとLIMIT

処置:

$query = UserTable::getLast100UsersQuery(); 
    $pager = new sfDoctrinePager('User', 10); 
    $pager->setQuery($query); 
    $pager->setPage($request->getParameter('page', 1)); 
    $pager->init(); 

モデル:

static public function getLast100UsersQuery() { 
    return Doctrine_Core::getTable('User')->limit(100); 
    } 

私の問題があることLIMIT(100)では、モデルでは、無視され、改ページは、すべての500人のユーザーのためです。私は最後の100人のユーザーを望んでいるだけで、全員ではありません。任意の助けみんな

答えて

0

を事前に

おかげで私は少し異なる方法でページングを行います。アクションで

public function getLast100UsersQuery($page = null) 
    { 
     $q = Doctrine_Query::create() 
     ->from("User") 
     ->limit(100); 

     $pager = new sfDoctrinePager('User', 10); 
     $pager->setQuery($q); 
     $pager->setPage($page, 1); 
     $pager->init(); 

     return $pager; 
     } 

私は、クエリを取得::私のモデルでは、クエリは次のようにsomtingされて 私はこのようにページングをしないし、何の問題を抱えている

$pager = $this->pager = Doctrine_Core::getTable('user')->getLast100UsersQuery($request->getParameter('page')); 

すべてTYME :)

+0

はなかったですあなたはそれをテストする?この場合は – denys281

+0

で、テーブル名などのパラメータを再生する必要があります。しかし、私のプロジェクトでは、私はこの方法でページネーションを作って100% – plamen

関連する問題