/** * Helper function for save() to update the uses of questions and delete * unused questions. */ private static function updateQuestionUses(MongoId $jobId, array $oldQuestions, array $newQuestions) { $commonQuestions = array_intersect($newQuestions, $oldQuestions); $removedQuestions = array_diff($oldQuestions, $commonQuestions); $addedQuestions = array_diff($newQuestions, $commonQuestions); foreach ($removedQuestions as $questionId) { QuestionModel::removeFromUses($questionId, $jobId); } foreach ($addedQuestions as $questionId) { QuestionModel::addToUses($questionId, $jobId); } }