Symfony1 带join的symfony分页
如何对在symfony中具有联接的查询进行分页?我正在尝试此代码,但它超时:Symfony1 带join的symfony分页,symfony1,Symfony1,如何对在symfony中具有联接的查询进行分页?我正在尝试此代码,但它超时: $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($qu
$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();
您的分页器代码似乎很好。我认为问题在于你的询问 尝试在不使用寻呼机的情况下运行它,然后查看结果 如果您继续面临查询问题,请尝试一下
$query=Doctrine_Query::create()
->select('c.name, d.phone')
->from('company c')
->innerJoin('c.companyDetails d');
我自己也没有试过,但是如果你的模式关系是按照我的想法定义的话,它应该会起作用
还有一件事,也许你已经知道了
$pager->setPage(1);
应该是
$pager->setPage($request->getParameter('page', 1));
我需要更改分页中的计数查询。为此:
$pager = new Doctrine_Pager($query,$request->getParameter('page',1),10);
$pager->setCountQuery('SELECT COUNT(id) FROM items WHERE city_id='.$city.' AND category_id='.$category);
$this->pager=$pager;
您只需在分页帮助器中使用:
$pagerRange = $pager->getRange('Sliding',array('chunk' => 5));
$pages = $pagerRange->rangeAroundPage();
查询本身运行正常吗?