reduce the number of queries required to get a notice's groups

This commit is contained in:
Evan Prodromou 2011-08-01 16:59:43 -04:00
parent b9cabd45de
commit 200e18cd71
1 changed files with 5 additions and 16 deletions

View File

@ -1438,25 +1438,14 @@ class Notice extends Memcached_DataObject
$gi->notice_id = $this->id;
if ($gi->find()) {
while ($gi->fetch()) {
$ids[] = $gi->group_id;
}
}
$ids = $gi->fetchAll('group_id');
self::cacheSet($keypart, implode(',', $ids));
}
$groups = array();
foreach ($ids as $id) {
$group = User_group::staticGet('id', $id);
if ($group) {
$groups[] = $group;
}
}
return $groups;
$groups = User_group::multiGet('id', $ids);
return $groups->fetchAll();
}
/**