sfDoctrinePagerの実装
sfDoctrinePagerを使ってPagerを実装する方法です。Doctrine Queryの参考にもなるかな。
$q = Doctrine_Core::getTable('Article')->createQuery('a')->where('a.url like ?', '%comment%'); $this->pager = new sfDoctrinePager('Article', 5); $this->pager->setQuery($q); $this->pager->setPage($request->getParameter('page', 1)); $this->pager->init(); $this->articles = $this->pager->getQuery()->fetchArray() ; foreach($articles as $article){ print_r($article); } echo ' <p><a href="'.url_for('feeds/read?page='.$pager->getPreviousPage()).'" />Previous</a></p> '; echo ' <p><a href="'.url_for('feeds/read?page='.$pager->getNextPage()).'" />Next</a></p> '; if($pager->haveToPaginate()) echo $pager->getPage() . '/' .$pager->getLastPage();
Doctrineについて(PagerとQueryについて)
http://www.doctrine-project.org/documentation/manual/1_2/nl/utilities
http://www.symfony-project.org/doctrine/1_2/ja/06-Working-With-Data