public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = TipoasistenciaPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setNombre($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setDescripcion($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setValor($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setGrupo($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { $this->setDefecto($arr[$keys[5]]); } }
/** * Obtiene los tipos de asistencias */ protected function getTiposasistencias() { $aDatosTablaTipoAsistencias = array(); $criteria = new Criteria(); $aTipoasistencias = TipoasistenciaPeer::doSelect($criteria); foreach ($aTipoasistencias as $tipoasistencia) { $aDatosTablaTipoAsistencias[$tipoasistencia->getNombre()] = array($tipoasistencia->getId(), $tipoasistencia->getDescripcion()); } return $aDatosTablaTipoAsistencias; }
public function getAsistenciasPorFechas($fecha_inicio, $fecha_fin) { $aAsistencia = array(); // En teoria esta dos consultas pueden reemplazarse con una solo usando LEFT JOIN y CASE $c = new Criteria(); $c->addSelectColumn(TipoasistenciaPeer::DESCRIPCION); $c->add(TipoasistenciaPeer::GRUPO, 'Inasistencias', Criteria::EQUAL); $rsColumna = TipoasistenciaPeer::doSelectStmt($c); $c = new Criteria(); $c->clearSelectColumns(); $c->addGroupByColumn(TipoasistenciaPeer::DESCRIPCION); // $c->addSelectColumn(TipoasistenciaPeer::GRUPO); $c->addSelectColumn(TipoasistenciaPeer::DESCRIPCION); $c->addSelectColumn('SUM(' . TipoasistenciaPeer::VALOR . ') AS valor'); $c->addJoin(TipoasistenciaPeer::ID, AsistenciaPeer::FK_TIPOASISTENCIA_ID); $c->add(AsistenciaPeer::FK_ALUMNO_ID, $this->getId(), Criteria::EQUAL); $c2 = new Criteria(); $criterion = $c2->getNewCriterion(AsistenciaPeer::FECHA, $fecha_inicio, Criteria::GREATER_EQUAL); $criterion->addAnd($c2->getNewCriterion(AsistenciaPeer::FECHA, $fecha_fin, Criteria::LESS_EQUAL)); $c->add($criterion); $c->add(TipoasistenciaPeer::GRUPO, 'Inasistencias', Criteria::EQUAL); $rsValor = TipoasistenciaPeer::doSelectStmt($c); if ($rsColumna) { while ($res_c = $rsColumna->fetch()) { $aAsistencia[$res_c[0]] = 0; // indice: nombre del Grupo, contenido: } } if ($rsValor) { while ($res = $rsValor->fetch()) { // indice: nombre del Grupo, contenido: sumatoria de valor $aAsistencia[$res[0]] = $res[1]; } } return $aAsistencia; }
public function getTipoasistencia(PropelPDO $con = null) { if ($this->aTipoasistencia === null && $this->fk_tipoasistencia_id !== null) { $c = new Criteria(TipoasistenciaPeer::DATABASE_NAME); $c->add(TipoasistenciaPeer::ID, $this->fk_tipoasistencia_id); $this->aTipoasistencia = TipoasistenciaPeer::doSelectOne($c, $con); } return $this->aTipoasistencia; }
public static function retrieveByPKs($pks, PropelPDO $con = null) { if ($con === null) { $con = Propel::getConnection(TipoasistenciaPeer::DATABASE_NAME, Propel::CONNECTION_READ); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(TipoasistenciaPeer::DATABASE_NAME); $criteria->add(TipoasistenciaPeer::ID, $pks, Criteria::IN); $objs = TipoasistenciaPeer::doSelect($criteria, $con); } return $objs; }
public static function doSelectJoinAllExceptAlumno(Criteria $c, $con = null, $join_behavior = Criteria::LEFT_JOIN) { $c = clone $c; if ($c->getDbName() == Propel::getDefaultDB()) { $c->setDbName(self::DATABASE_NAME); } AsistenciaPeer::addSelectColumns($c); $startcol2 = AsistenciaPeer::NUM_COLUMNS - AsistenciaPeer::NUM_LAZY_LOAD_COLUMNS; TipoasistenciaPeer::addSelectColumns($c); $startcol3 = $startcol2 + (TipoasistenciaPeer::NUM_COLUMNS - TipoasistenciaPeer::NUM_LAZY_LOAD_COLUMNS); $c->addJoin(array(AsistenciaPeer::FK_TIPOASISTENCIA_ID), array(TipoasistenciaPeer::ID), $join_behavior); $stmt = BasePeer::doSelect($c, $con); $results = array(); while ($row = $stmt->fetch(PDO::FETCH_NUM)) { $key1 = AsistenciaPeer::getPrimaryKeyHashFromRow($row, 0); if (null !== ($obj1 = AsistenciaPeer::getInstanceFromPool($key1))) { } else { $omClass = AsistenciaPeer::getOMClass(); $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1); $obj1 = new $cls(); $obj1->hydrate($row); AsistenciaPeer::addInstanceToPool($obj1, $key1); } $key2 = TipoasistenciaPeer::getPrimaryKeyHashFromRow($row, $startcol2); if ($key2 !== null) { $obj2 = TipoasistenciaPeer::getInstanceFromPool($key2); if (!$obj2) { $omClass = TipoasistenciaPeer::getOMClass(); $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1); $obj2 = new $cls(); $obj2->hydrate($row, $startcol2); TipoasistenciaPeer::addInstanceToPool($obj2, $key2); } $obj2->addAsistencia($obj1); } $results[] = $obj1; } $stmt->closeCursor(); return $results; }