Пример #1
0
 public function obtenerHijos()
 {
     $con = Propel::getConnection();
     $query = "SELECT %s as IdGrupo FROM %s WHERE %s = " . $this->getIdGrupo() . " ORDER BY %s";
     $query = sprintf($query, GrupoPeer::ID_GRUPO, GrupoPeer::TABLE_NAME, GrupoPeer::PADRE, GrupoPeer::ID_GRUPO);
     $stmt = $con->prepare($query);
     $stmt->execute();
     $mishijos = array();
     while ($row = $stmt->fetch()) {
         $mishijos[] = $row['IdGrupo'];
         $hijo_temp = GrupoPeer::retrieveByPk($row['IdGrupo']);
         $mishijos_temp = $hijo_temp->obtenerHijos();
         //array merge casero porque el normal me falla
         foreach ($mishijos_temp as $value) {
             $mishijos[] = $value;
         }
     }
     return $mishijos;
 }
Пример #2
0
 protected function getGrupoOrCreate($id_grupo = 'id_grupo')
 {
     if (!$this->getRequestParameter($id_grupo)) {
         $grupo = new Grupo();
     } else {
         $grupo = GrupoPeer::retrieveByPk($this->getRequestParameter($id_grupo));
         //Ana:
         $grupo->cargarOtrosDatos();
         //$padres=Grupo::arbolGrupos(true);
         $this->forward404Unless($grupo);
     }
     return $grupo;
 }
Пример #3
0
 /**
  * Operaciones de carga y busqueda de los grupos a los que pertenece el usuario
  * Dado un grupo lo añade al array
  * 
  */
 protected function _anadirGrupo($id_grupo, $comprobar)
 {
     if ($comprobar) {
         if ($this->_estaGrupo($id_grupo)) {
             return false;
         }
     }
     $grupo = GrupoPeer::retrieveByPk($id_grupo);
     $grupo->cargarOtrosDatos();
     if (!empty($grupo)) {
         $this->grupos[] = $grupo;
         return true;
     }
     return false;
 }