public function specifie_parent($groupID) { if (is_null($groupID)) { return; } $groupe_groupe = IgoGroupeGroupe::findFirst("groupe_id ={$this->id} and parent_groupe_id={$groupID}"); if (!$groupe_groupe) { $groupe_groupe = new IgoGroupeGroupe(); $groupe_groupe->groupe_id = $this->id; $groupe_groupe->parent_groupe_id = $groupID; if ($groupe_groupe->save() == false) { foreach ($groupe_groupe->getMessages() as $message) { throw new Exception($message); } } } }
/** * * @param string $type Type d'enfant : 'couche' ou 'groupe' * @param int $profil_id Profil propriéraire du groupe */ private function gererAssociationParentsGroupeCouche($id, $profil_id) { //Nettoyer les id de la liste des parents à traiter $ids = $this->request->getPost('multiselect_groupe_parent_valeurs'); $ids = explode(',', $ids); foreach ($ids as $index => $valeur) { $valeur = intval($valeur); if ($valeur) { $ids[$index] = $valeur; } else { unset($ids[$index]); } } $igo_groupe_couche = new IgoGroupeCouche(); //Supprimer tous les groupes parents de ce groupe $this->modelsManager->executeQuery("DELETE FROM IgoGroupeGroupe WHERE groupe_id = {$id}"); foreach ($ids as $parent_groupe_id) { $igoGroupeGroupe = new IgoGroupeGroupe(); $igoGroupeGroupe->groupe_id = $id; $igoGroupeGroupe->parent_groupe_id = $parent_groupe_id; $igoGroupeGroupe->save(); } }