我有很多用户记录。像用户名,用户ID,地址等。 我想明智地显示所有用户记录。每页10条记录。 我怎么能用symfony1.4。我什么都不知道,所以我不能发布任何代码 有人告诉我
$query=Doctrine_Query::create()
->select('c.name, d.phone')
->from('company c, companyDetails d')
->where('c.companyId=d.companyId');
$pager = new sfDoctrinePager('company',10);
$pager->setQuery($query);
$pager->setPage(1);
$pager->init();
$this->companys=$pager->getResults();
但我不知道如何在symfony1.4中实现
答案 0 :(得分:4)
您需要在symfony中阅读有关Pager的更多信息,例如,这是我的基本操作代码。
public function executeIndex(sfWebRequest $request)
{
if ($request->getParameter('pages'))
{
$this->getUser()->setAttribute('pages', $request->getParameter('pages'));
}
// sorting
if ($request->getParameter('sort') && $this->isValidSortColumn($request->getParameter('sort')))
{
$this->setSort(array($request->getParameter('sort'), $request->getParameter('sort_type')));
}
// pager
if ($request->getParameter('page'))
{
$this->setPage($request->getParameter('page'));
}
$this->pager = $this->getPager();
$this->sort = $this->getSort();
}
此外,您可能还需要这些附加功能:
protected function getPager()
{
$pager = $this->configuration->getPager('YourModelHere');
$pager->setQuery($this->buildQuery());
$pager->setPage($this->getPage());
$pager->setMaxPerpage($this->getUser()->getAttribute('pages', sfConfig::get('app_results_per_page', 10)));
$pager->init();
return $pager;
}
protected function setPage($page)
{
$this->getUser()->setAttribute('module_name.page', $page, 'admin_module');
}
protected function getPage()
{
return $this->getUser()->getAttribute('module_name.page', 1, 'admin_module');
}