public static function fetchData(array $pids, Visibility $visibility) { $data = XDB::iterator('SELECT jt.jtid, jte.full_name, jt.pid, jt.jid FROM profile_job_term AS jt INNER JOIN profile_job AS j ON (jt.pid = j.pid AND jt.jid = j.id) LEFT JOIN profile_job_term_enum AS jte USING(jtid) LEFT JOIN profile_visibility_enum AS pve ON (pve.access_level = {?}) WHERE jt.pid IN {?} AND pve.best_display_level + 0 <= j.pub + 0 ORDER BY ' . XDB::formatCustomOrder('jt.pid', $pids), $visibility->level(), $pids); return PlIteratorUtils::subIterator($data, PlIteratorUtils::arrayValueCallback('pid')); }