public function getFriendListPager($memberId, $page = 1, $size = 20)
 {
     $friendMemberIds = $this->getFriendMemberIds($memberId);
     if (!count($friendMemberIds)) {
         return null;
     }
     $q = Doctrine::getTable('Member')->createQuery()->whereIn('id', $friendMemberIds);
     $pager = new opNonCountQueryPager('Member', $size);
     $pager->setQuery($q);
     $pager->setPage($page);
     $pager->init();
     return $pager;
 }
 public function getAshiatoListPager($memberId, $page = 1, $size = 20)
 {
     $day_list = array();
     $q = $this->createQuery()->select('id, r_date')->where('member_id_to = ?', $memberId)->groupBy('r_date DESC')->limit($size);
     foreach ($q->execute(array(), Doctrine::HYDRATE_NONE) as $day) {
         $day_list[] = $day[1];
     }
     $q = $this->createQuery()->select('*')->addSelect('MAX(updated_at) as max_updated_at')->where('member_id_to = ?', $memberId)->andWhereIn('r_date', $day_list)->groupBy('member_id_from')->addGroupBy('r_date')->orderBy('max_updated_at DESC');
     $pager = new opNonCountQueryPager('Ashiato', $size);
     $pager->setQuery($q);
     $pager->setPage($page);
     $pager->init();
     return $pager;
 }
Пример #3
0
 public function getCommunityMemberListPager($communityId, $page = 1, $size = 20)
 {
     $communityMembers = Doctrine::getTable('CommunityMember')->createQuery()->select('member_id')->where('community_id = ?', $communityId)->andWhere('is_pre = ?', false)->execute(array(), Doctrine::HYDRATE_NONE);
     $ids = array();
     foreach ($communityMembers as $communityMember) {
         $ids[] = $communityMember[0];
     }
     $pager = new opNonCountQueryPager('Member', $size);
     if (empty($ids)) {
         return $pager;
     }
     $q = Doctrine::getTable('Member')->createQuery()->whereIn('id', $ids);
     $pager->setQuery($q);
     $pager->setPage($page);
     $pager->init();
     return $pager;
 }