static function fillAttachments(&$notices) { $ids = self::_idsOf($notices); $f2pMap = File_to_post::listGet('post_id', $ids); $fileIds = array(); foreach ($f2pMap as $noticeId => $f2ps) { foreach ($f2ps as $f2p) { $fileIds[] = $f2p->file_id; } } $fileIds = array_unique($fileIds); $fileMap = File::pivotGet('id', $fileIds); foreach ($notices as $notice) { $files = array(); $f2ps = $f2pMap[$notice->id]; foreach ($f2ps as $f2p) { $files[] = $fileMap[$f2p->file_id]; } $notice->_setAttachments($files); } }