getPreference(); if(is_array($preference)&&array_key_exists($key,$preference)&&array_key_exists($id,$preference[$key])) return $preference[$key][$id]; else return null; } public function setUserpreference($user,$key,$id,$value) { // Récupérer les préférences de l'utilisateur $preference=$user->getPreference(); // Mise à jour de la préférence $toupdate=false; if(!is_array($preference)) { $toupdate=true; $preference=[]; } if(!array_key_exists($key,$preference)) { $toupdate=true; $preference[$key]=[]; } if((!array_key_exists($id,$preference[$key]))) { $toupdate=true; $preference[$key][$id]=$value; } if($preference[$key][$id]!=$value) { $toupdate=true; $preference[$key][$id]=$value; } // Mise à jour des préferences if($toupdate) { $user->setPreference($preference); $this->_em->persist($user); $this->_em->flush(); } } }