0

我有一张有 500 个用户的桌子。我需要在我的主页上显示最后 100 个注册用户,分页。所以我使用 symfony 和 sfDoctrinePager 的分页。

行动:

    $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 个用户,而不是所有用户。

在此先感谢您的帮助

4

1 回答 1

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;
      }

在行动中我得到查询:

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

我用这种方式进行分页的所有时间都没有问题:)

于 2012-03-14T03:28:59.960 回答