Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony1 带join的symfony分页_Symfony1 - Fatal编程技术网

Symfony1 带join的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

如何对在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($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();

查询本身运行正常吗?