public static function doSelectJoinAllExceptOrientacion(Criteria $c, $con = null, $join_behavior = Criteria::LEFT_JOIN) { $c = clone $c; if ($c->getDbName() == Propel::getDefaultDB()) { $c->setDbName(self::DATABASE_NAME); } RelAnioActividadPeer::addSelectColumns($c); $startcol2 = RelAnioActividadPeer::NUM_COLUMNS - RelAnioActividadPeer::NUM_LAZY_LOAD_COLUMNS; AnioPeer::addSelectColumns($c); $startcol3 = $startcol2 + (AnioPeer::NUM_COLUMNS - AnioPeer::NUM_LAZY_LOAD_COLUMNS); ActividadPeer::addSelectColumns($c); $startcol4 = $startcol3 + (ActividadPeer::NUM_COLUMNS - ActividadPeer::NUM_LAZY_LOAD_COLUMNS); $c->addJoin(array(RelAnioActividadPeer::FK_ANIO_ID), array(AnioPeer::ID), $join_behavior); $c->addJoin(array(RelAnioActividadPeer::FK_ACTIVIDAD_ID), array(ActividadPeer::ID), $join_behavior); $stmt = BasePeer::doSelect($c, $con); $results = array(); while ($row = $stmt->fetch(PDO::FETCH_NUM)) { $key1 = RelAnioActividadPeer::getPrimaryKeyHashFromRow($row, 0); if (null !== ($obj1 = RelAnioActividadPeer::getInstanceFromPool($key1))) { } else { $omClass = RelAnioActividadPeer::getOMClass(); $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1); $obj1 = new $cls(); $obj1->hydrate($row); RelAnioActividadPeer::addInstanceToPool($obj1, $key1); } $key2 = AnioPeer::getPrimaryKeyHashFromRow($row, $startcol2); if ($key2 !== null) { $obj2 = AnioPeer::getInstanceFromPool($key2); if (!$obj2) { $omClass = AnioPeer::getOMClass(); $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1); $obj2 = new $cls(); $obj2->hydrate($row, $startcol2); AnioPeer::addInstanceToPool($obj2, $key2); } $obj2->addRelAnioActividad($obj1); } $key3 = ActividadPeer::getPrimaryKeyHashFromRow($row, $startcol3); if ($key3 !== null) { $obj3 = ActividadPeer::getInstanceFromPool($key3); if (!$obj3) { $omClass = ActividadPeer::getOMClass(); $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1); $obj3 = new $cls(); $obj3->hydrate($row, $startcol3); ActividadPeer::addInstanceToPool($obj3, $key3); } $obj3->addRelAnioActividad($obj1); } $results[] = $obj1; } $stmt->closeCursor(); return $results; }
public function getAnios($criteria = null, PropelPDO $con = null) { if ($criteria === null) { $criteria = new Criteria(CarreraPeer::DATABASE_NAME); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collAnios === null) { if ($this->isNew()) { $this->collAnios = array(); } else { $criteria->add(AnioPeer::FK_CARRERA_ID, $this->id); AnioPeer::addSelectColumns($criteria); $this->collAnios = AnioPeer::doSelect($criteria, $con); } } else { if (!$this->isNew()) { $criteria->add(AnioPeer::FK_CARRERA_ID, $this->id); AnioPeer::addSelectColumns($criteria); if (!isset($this->lastAnioCriteria) || !$this->lastAnioCriteria->equals($criteria)) { $this->collAnios = AnioPeer::doSelect($criteria, $con); } } } $this->lastAnioCriteria = $criteria; return $this->collAnios; }