Я устанавливаю 1 строку на страницу в пейджере symfony, но она показывает больше данных, чем 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();
Разбиение на страницы есть, но проблема в том, что в некоторых случаях на одной странице отображается несколько строк, когда в таблице лицензий для конкретного пользователя есть несколько строк. Как я могу реализовать это правильно?