private function getSubaffiliatesCounts($ids) {
$results = array();
$condition = '';
$rs = new Gpf_Data_RecordSet();
$selectBuilder = new Gpf_SqlBuilder_SelectBuilder();
$selectBuilder->select->add('count(u.'.Pap_Db_Table_Users::ID.')', 'count');
$selectBuilder->select->add('u.'.Pap_Db_Table_Users::PARENTUSERID, Pap_Db_Table_Users::PARENTUSERID);
$selectBuilder->from->add(Pap_Db_Table_Users::getName(), 'u');
$selectBuilder->from->addInnerJoin(Gpf_Db_Table_Users::getName(), 'gu', 'u.'.Pap_Db_Table_Users::ACCOUNTUSERID.' = gu.'.Gpf_Db_Table_Users::ID);
$selectBuilder->from->addInnerJoin(Gpf_Db_Table_AuthUsers::getName(), 'au', 'gu.'.Gpf_Db_Table_Users::AUTHID .' = au.'.Gpf_Db_Table_AuthUsers::ID);
$selectBuilder->where->add('u.'.Pap_Db_Table_Users::PARENTUSERID, 'in', $ids);
$selectBuilder->where->add('u.'.Pap_Db_Table_Users::DELETED, '=', Gpf::NO);
$selectBuilder->where->add('gu.'.Gpf_Db_Table_Users::STATUS, 'in', array(Gpf_Db_User::APPROVED, Gpf_Db_User::PENDING));
$this->filterCollection->addTo($selectBuilder->where);
$selectBuilder->groupBy->add('u.'.Pap_Db_Table_Users::PARENTUSERID);
$rs->load($selectBuilder);
foreach($rs as $record) {
$results[$record->get(Pap_Db_Table_Users::PARENTUSERID)] = $record->get('count');
}
return $results;
}