static function fillGroups(&$notices) { $ids = self::_idsOf($notices); $gis = Group_inbox::listGet('notice_id', $ids); $gids = array(); foreach ($gis as $id => $gi) { foreach ($gi as $g) { $gids[] = $g->group_id; } } $gids = array_unique($gids); $group = User_group::pivotGet('id', $gids); foreach ($notices as $notice) { $grps = array(); $gi = $gis[$notice->id]; foreach ($gi as $g) { $grps[] = $group[$g->group_id]; } $notice->_setGroups($grps); } }