public static function getRecordsetFirmatari($id, $tipo) { $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppPoliticoPeer::ID); $c->addSelectColumn(OppPoliticoPeer::NOME); $c->addSelectColumn(OppPoliticoPeer::COGNOME); $c->addSelectColumn(OppGruppoPeer::NOME); $c->addSelectColumn(OppCaricaHasAttoPeer::DATA); $c->addSelectColumn(OppGruppoPeer::ACRONIMO); $c->addSelectColumn(OppCaricaPeer::TIPO_CARICA_ID); $c->addSelectColumn(OppCaricaPeer::ID); $c->add(OppCaricaHasAttoPeer::ATTO_ID, $id, Criteria::EQUAL); $c->addJoin(OppCaricaHasAttoPeer::CARICA_ID, OppCaricaPeer::ID, Criteria::LEFT_JOIN); $c->addJoin(OppCaricaPeer::POLITICO_ID, OppPoliticoPeer::ID, Criteria::LEFT_JOIN); $c->addJoin(OppCaricaPeer::ID, OppCaricaHasGruppoPeer::CARICA_ID, Criteria::LEFT_JOIN); $c->addJoin(OppCaricaHasGruppoPeer::GRUPPO_ID, OppGruppoPeer::ID, Criteria::LEFT_JOIN); $c->add(OppCaricaHasGruppoPeer::DATA_FINE, NULL, Criteria::ISNULL); $c->add(OppCaricaHasAttoPeer::TIPO, $tipo, Criteria::EQUAL); $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME); $c->addAscendingOrderByColumn(OppCaricaHasGruppoPeer::DATA_FINE); $rs = OppCaricaHasAttoPeer::doSelectRS($c); return $rs; }
/** * torna gli atti firmati dal politico, come array di id * qualsiasi firma * * @param string $criteria * @param string $con * @return void * @author Guglielmo Celata */ public function getOppCaricaHasAttosPKs($criteria = null, $con = null) { $oppCaricaHasAttosPKs = array(); if (!$this->isNew()) { if ($criteria === null) { $criteria = new Criteria(); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } $criteria->add(OppCaricaHasAttoPeer::CARICA_ID, $this->getId()); $criteria->clearSelectColumns(); $criteria->addSelectColumn(OppCaricaHasAttoPeer::ATTO_ID); $rs = OppCaricaHasAttoPeer::doSelectRS($criteria, $con); while ($rs->next()) { $oppCaricaHasAttosPKs[] = $rs->getInt(1); } } return $oppCaricaHasAttosPKs; }
echo $ncariche . "\n"; // costruisce array dei politici, con le firme $politici = array(); foreach ($cariche as $i => $carica) { $politico = $carica->getOppPolitico(); $politici[$i]['id'] = $carica->getId(); $politici[$i]['cognome'] = $politico->getCognome(); $politici[$i]['nome'] = $politico->getNome(); echo $i . "(" . $politici[$i]['id'] . "): " . $politici[$i]['nome'] . " " . $politici[$i]['cognome'] . ": "; // legge le firme dal DB e li mette nell'array firme $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppCaricaHasAttoPeer::ATTO_ID); $c->addSelectColumn(OppCaricaHasAttoPeer::TIPO); $c->add(OppCaricaHasAttoPeer::CARICA_ID, $carica->getId()); $res = OppCaricaHasAttoPeer::doSelectRS($c); $firme = array(); while ($res->next()) { $firme[$res->getInt(1)] = $res->getString(2); } $politici[$i]['firme'] = $firme; unset($res); $nfirme = count($firme); echo " ({$nfirme} firme)\n"; } // update dei valori delle firme for ($i = 0; $i < $ncariche; $i++) { $dd = OppSimilaritaPeer::retrieveByPK($politici[$i]['id'], $politici[$i]['id']); if (is_null($dd)) { $dd = new OppSimilarita(); $dd->setCaricaFromId($politici[$i]['id']);