我有一个包含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个用户,而不是所有用户。
提前感谢任何帮助人员
答案 0 :(得分: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'));
所有这些都以这种方式进行分页并且没有问题:)