/** * Remove duplicate mcq before to send user's json flow * @param User $user * @return $userWithoutDuplicate */ public function RemoveDuplicateMcq($user) { $mcqUser = array(); $mcqTeam = array(); $diff = array(); $team = new Team(); $team = $user->getTeam(); if ($team != null) { //Get Mcq's id in team's user foreach ($team->getMcqs() as $mcq) { //Insert Mcq's id in team's user in array array_push($mcqTeam, $mcq->getId()); } //Get Mcq's id in team's user foreach ($user->getMcqs() as $mcq) { array_push($mcqUser, $mcq->getId()); } /*Manage difference between two arrays*/ //Return list mcq's id missing in mcqUser Array $diff = array_diff($mcqTeam, $mcqUser); //Add Mcq in user foreach ($diff as $mcq_id) { $user->AddMcq($this->getDoctrine()->getRepository('IIAWebServiceBundle:Mcq')->findOneById($mcq_id)); } } return $user; }