【发布时间】:2023-04-06 06:11:01
【问题描述】:
我在 symfony 寻呼机中每页设置 1 行,但它显示的数据多于 1。这是因为我的查询将 sfGuardUser 表与其他表连接在一起,并且在某些情况下会导致 'sfGuardUser' 行重复是该特定用户的“许可证”表中的多个条目!这是我的查询:
$pager = new sfDoctrinePager('sfGuardUser', '1');
$q = Doctrine_Query::create()
->select('u.id, u.username, g.name, l.id, l.status, l.client_id, l.vendor_id, l.applied_date, p.org_name')
->from('sfGuardUser u')
->leftJoin('u.Profile p')
->leftJoin('u.Groups g')
->leftJoin('u.LicensedClients l')
->where('g.name = \'vendor\'')
->orderBy('l.applied_date');
$q->setHydrationMode(Doctrine_Core::HYDRATE_SCALAR);
$pager->setQuery($q);
$pager->setPage($request->getParameter('page', 1));
$pager->init();
存在分页,但问题是在某些情况下,当许可证表中有特定用户的多行时,一页中会显示多行。我怎样才能以正确的方式实现它?
【问题讨论】:
标签: php symfony1 doctrine symfony-1.4 doctrine-1.2