protected static function _getItemsPKsVotedByUsers($users_pks, $voting_attitude = null, $model = null) { $c = new Criteria(); $c->setDistinct(); $c->clearSelectColumns(); $c->addSelectColumn(self::VOTABLE_ID); // analyze voting attitude if (!is_null($voting_attitude)) { if ($voting_attitude > 0) { $c->add(self::VOTING, 0, Criteria::GREATER_THAN); } elseif ($voting_attitude < 0) { $c->add(self::VOTING, 0, Criteria::LESS_THAN); } else { $c->add(self::VOTING, 0); } } $c->add(self::USER_ID, $users_pks, Criteria::IN); if (!is_null($model)) { $c->add(self::VOTABLE_MODEL, $model); } $rs = self::doSelectRS($c); $pks = array(); while ($rs->next()) { $pks[] = $rs->getInt(1); } return $pks; }
/** * returns the groups in the given ramo (and for the given legislatura) and include the zero value, if given * * @param string $ramo * @param int $legislatura * @param string $include_zero * @return an associative array, with id and name as key => value * @author Guglielmo Celata */ public static function getAllGroups($ramo, $legislatura, $include_zero = false) { $c = new Criteria(); if ($ramo == 'camera') { $c->add(OppCaricaPeer::TIPO_CARICA_ID, 1); } else { $c->add(OppCaricaPeer::TIPO_CARICA_ID, array(4, 5), Criteria::IN); } $c->addJoin(OppGruppoPeer::ID, OppCaricaHasGruppoPeer::GRUPPO_ID); $c->addJoin(OppCaricaPeer::ID, OppCaricaHasGruppoPeer::CARICA_ID); $c_or_leg = $c->getNewCriterion(OppCaricaPeer::LEGISLATURA, $legislatura); $c_or_leg->addOr($c->getNewCriterion(OppCaricaPeer::LEGISLATURA, null, Criteria::ISNULL)); $c->add($c_or_leg); $c->clearSelectColumns(); $c->addSelectColumn(OppGruppoPeer::ID); $c->addSelectColumn(OppGruppoPeer::NOME); $c->setDistinct(); $rs = OppGruppoPeer::doSelectRS($c); if ($include_zero) { $all_groups = array('0' => $include_zero); } else { $all_groups = array(); } while ($rs->next()) { $all_groups[$rs->getInt(1)] = $rs->getString(2); } return $all_groups; }
/** * Executes query and hydrate this object * * @param string $query the query being searched for */ public function query($query, PropelPDO $propelConnection = null) { $refQuery = trim($query); if (strlen($refQuery) < 3) { throw new Exception("Too few characters in the query string"); } elseif (helperFunctions::isMaliciousString($refQuery)) { throw new Exception("Malicious string detected. Are you trying to wreck our system?"); } else { // search for courses $c = new Criteria(); $idCrit = $c->getNewCriterion(CoursePeer::ID, $refQuery . "%", Criteria::LIKE); $nameCrit = $c->getNewCriterion(CoursePeer::DESCR, "%" . $refQuery . "%", Criteria::LIKE); $idCrit->addOr($nameCrit); $c->addAnd($idCrit); $c->setDistinct(); $c->addAscendingOrderByColumn(CoursePeer::ID); $this->_courseList = CoursePeer::doselect($c, $propelConnection); // search for professors $c = new Criteria(); $firstNameCrit = $c->getNewCriterion(InstructorPeer::FIRST_NAME, "%" . $refQuery . "%", Criteria::LIKE); $lastNameCrit = $c->getNewCriterion(InstructorPeer::LAST_NAME, "%" . $refQuery . "%", Criteria::LIKE); $firstNameCrit->addOr($lastNameCrit); $c->addAnd($firstNameCrit); $c->setDistinct(); $c->addAscendingOrderByColumn(InstructorPeer::LAST_NAME); $this->_profList = InstructorPeer::doSelect($c, $propelConnection); // search for programs $c = new Criteria(); $descrCrit = $c->getNewCriterion(DisciplinePeer::DESCR, "%" . $refQuery . "%", Criteria::LIKE); $c->addAnd($descrCrit); $c->setDistinct(); $c->addAscendingOrderByColumn(DisciplinePeer::DESCR); $this->_programList = DisciplinePeer::doSelect($c, $propelConnection); } }
public static function getWithJobs() { $criteria = new Criteria(); $criteria->addJoin(self::ID, JobeetJobPeer::CATEGORY_ID); $criteria->add(JobeetJobPeer::EXPIRES_AT, time(), Criteria::GREATER_THAN); $criteria->setDistinct(); return self::doSelect($criteria); }
public static function getWithMailboxs() { $criteria = new Criteria(); $criteria->addJoin(self::ID, GcMailboxPeer::GROUP_ID); $criteria->add(GcMailboxPeer::EXPIRES_AT, time(), Criteria::GREATER_THAN); $criteria->setDistinct(); return self::doSelect($criteria); }
public static function getUsedCategories() { $c = new Criteria(); $c->addJoin(self::ID, PcBlogCategoriesPostsPeer::CATEGORY_ID, Criteria::INNER_JOIN); $c->addJoin(PcBlogCategoriesPostsPeer::POST_ID, PcBlogPostPeer::ID, Criteria::INNER_JOIN); $c->setDistinct(); return self::doSelect($c); }
/** * * @return Routes2011[] */ public static function getAllDistinctRouteId() { $criteria = new Criteria(); $criteria->addAscendingOrderByColumn(self::ROUTEID); $criteria->setDistinct(); $criteria->clearSelectColumns(); $criteria->addSelectColumn(self::ROUTEID); return self::doSelect($criteria); }
/** * Fetches a list of Course objects * * @param int $instructorId ID of instructor object * @return A list of course objects */ public static function findCoursesByInstructorId($instructorId, PropelPDO $propelConnection = null) { $c = new Criteria(); $c->addJoin(CoursePeer::ID, CourseInstructorAssociationPeer::COURSE_ID); $c->add(CourseInstructorAssociationPeer::INSTRUCTOR_ID, $instructorId); $c->setDistinct(); $c->addAscendingOrderByColumn(CoursePeer::ID); return CoursePeer::doselect($c, $propelConnection); }
/** * This static method retrieves all the subjects for a course. * * @param Course $course * @return Criteria */ public static function retrieveForCourseCriteria(Course $course) { $c = new Criteria(); $c->add(CourseSubjectPeer::COURSE_ID, $course->getId()); $c->addJoin(CourseSubjectPeer::CAREER_SUBJECT_SCHOOL_YEAR_ID, CareerSubjectSchoolYearPeer::ID, Criteria::INNER_JOIN); $c->addJoin(CareerSubjectSchoolYearPeer::CAREER_SUBJECT_ID, CareerSubjectPeer::ID, Criteria::INNER_JOIN); $c->addJoin(CareerSubjectPeer::SUBJECT_ID, self::ID, Criteria::INNER_JOIN); $c->setDistinct(); return $c; }
/** * This method joins to the divisions of the teacher * @param Criteria $c * @param <type> $user_id */ public static function joinWithDivisions(Criteria $criteria, $user_id) { $criteria->setDistinct(DivisionPeer::ID); $criteria->addJoin(DivisionPeer::ID, CoursePeer::DIVISION_ID); $criteria->addJoin(CoursePeer::ID, CourseSubjectPeer::COURSE_ID); $criteria->addJoin(CourseSubjectPeer::ID, CourseSubjectTeacherPeer::COURSE_SUBJECT_ID); $criteria->addJoin(CourseSubjectTeacherPeer::TEACHER_ID, TeacherPeer::ID); $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID); $criteria->add(PersonPeer::USER_ID, $user_id); }
public static function getOrientations($widget, $value) { $career = CareerPeer::retrieveByPk($value); $orientations = array('' => ''); $c = new Criteria(); $c->setDistinct(); foreach ($career->getOrientations($c) as $orientation) { $orientations[$orientation->getId()] = $orientation->__toString(); } $widget->setOption("choices", $orientations); }
/** * Get all the different values set to $column. * * @param string $column The column from this class' table. * @param PropelPDO $con Optional PDO object. * @return array */ static public function retrieveAllValuesForColumn($column, PropelPDO $con = null) { $criteria = new Criteria(); $criteria->setDistinct(); $criteria->clearSelectColumns(); $criteria->addSelectColumn($column); return ncTrackerEntryPeer::doSelectStmt($criteria) ->fetchAll(PDO::FETCH_COLUMN); }
public function addIdentificationNumberColumnCriteria(Criteria $criteria, $field, $value) { $value = trim($value); if ($value != '') { $value = "%{$value}%"; $criteria->addJoin(TeacherPeer::PERSON_ID, PersonPeer::ID); $criterion = $criteria->getNewCriterion(PersonPeer::IDENTIFICATION_NUMBER, $value, Criteria::LIKE); $criteria->add($criterion); $criteria->setDistinct(); } }
/** * @return \ResultSet * @throws \PropelException */ protected function prepareResult() { $p = $this->getPeer(); $criteria = new \Criteria(); $criteria->setDistinct(); $criteria->addAscendingOrderByColumn($this->getFullyQualifiedPKName($p)); $this->logger->debug("Propel\\Source calling ...::createResultSet()"); $r = $this->createResultSet($p, $criteria); $this->logger->debug("...::createResultSet() returned"); return $r; }
public function testCreateSelectSqlPartSelectModifier() { $db = Propel::getDB(BookPeer::DATABASE_NAME); $c = new Criteria(); $c->addSelectColumn(BookPeer::ID); $c->addAsColumn('book_ID', BookPeer::ID); $c->setDistinct(); $fromClause = array(); $selectSql = $db->createSelectSqlPart($c, $fromClause); $this->assertEquals('SELECT DISTINCT book.ID, book.ID AS book_ID', $selectSql, 'createSelectSqlPart() includes the select modifiers in the SELECT clause'); $this->assertEquals(array('book'), $fromClause, 'createSelectSqlPart() adds the tables from the select columns to the from clause'); }
public function getHostnames($value = '') { $criteria = new Criteria(); $criteria->clearSelectColumns(); $criteria->addSelectColumn(self::HOSTNAME); $criteria->setDistinct(); $stmt = self::doSelectStmt($criteria); while ($host = $stmt->fetchColumn(0)) { $results[] = $host; } return $results; }
public static function getLodging($name, $passenger_id) { $c = new Criteria(); $c->addJoin(self::PASSENGER_ID, PassengerPeer::ID, Criteria::INNER_JOIN); $c->add(self::PASSENGER_ID, $passenger_id); $name = mysql_escape_string($name); $c->clearSelectColumns(); $c->addSelectColumn(self::LODGING); $c->add(self::LODGING, '%' . $name . '%', Criteria::LIKE); $c->setDistinct(); $c->setLimit(10); return self::doSelectStmt($c); }
public static function findByQuery($query, $page, $size) { $c = new Criteria(); $c->addJoin(ReportPeer::ID, ReportQueryPeer::REPORT_ID); $c->addJoin(ReportQueryPeer::QUERY_ID, QueryPeer::ID); $c->add(QueryPeer::QUERY, $query); $c->setDistinct(); $pager = new sfPropelPager('Report', $size); $pager->setCriteria($c); $pager->setPage($page); $pager->init(); return $pager; }
public static function getByTag($tag, $page, $pager_size) { $c = new Criteria(); $c->addJoin(self::ID, TagPeer::SNIPPET_ID, Criteria::LEFT_JOIN); $c->add($c->getNewCriterion(TagPeer::NAME, $tag)); $c->addDescendingOrderByColumn(SnippetPeer::CREATED_AT); $c->setDistinct(); $pager = new sfPropelPager('Snippet', $pager_size); $pager->setCriteria($c); $pager->setPage($page); $pager->init(); return $pager; }
protected static function getAllNamespaces() { $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(self::LAUNCH_NAMESPACE); $c->setDistinct(); $rs = self::doSelectRS($c); $namespaces = array(); while ($rs->next()) { $namespaces[] = $rs->getString(1); } return $namespaces; }
public function getCamposFormularioOrdenadosAlcancetablas($id_tabla = null, $solo_en_lista = false) { $c = new Criteria(); $c->addJoin(CampoPeer::ID_CAMPO, RelCampoTablaPeer::ID_CAMPO, Criteria::JOIN); $c->addJoin(RelCampoTablaPeer::ID_TABLA, TablaPeer::ID_TABLA, Criteria::JOIN); $c->addAnd(TablaPeer::ID_EMPRESA, $this->getIdEmpresa(), Criteria::EQUAL); //$c->addAnd(CampoPeer::ES_GENERAL , true); $c->addAscendingOrderByColumn(CampoPeer::ORDEN); $c->setDistinct(); $campos = CampoPeer::doSelect($c); //el siguiente ódigo es bastante ineficiente. Podría conseguirse una SQL que obtuviera todos los campos accesibles de la promotra $tablaes = TablaPeer::doSelect(TablaPeer::getCriterioAlcance()); $accesible = array(); foreach ($tablaes as $tab) { $accesible[$tab->getIdTabla()] = 1; } if ($id_tabla != null) { if (isset($accesible[$id_tabla])) { //Si viene que solo queremos los datos de una tabla y esta es accesible => solo obtenemos los campos de esa tabla. unset($accesible); $accesible[$id_tabla] = 1; } else { //la tabla no es accesible => devolver que no tiene campos return array(); } } $resultado = array(); foreach ($campos as $campo) { if (!$campo->getEsGeneral()) { $rels = $campo->getRelCampoTablas(); //print_r($rels); foreach ($rels as $rel) { if (isset($accesible[$rel->getIdTabla()])) { if ($solo_en_lista) { if ($campo->getEnLista()) { $resultado[] = $campo; } } else { $resultado[] = $campo; } break; //sale del if o del for? } } } else { $resultado[] = $campo; } } return $resultado; }
/** * gets a list of all agents related to all schemas * * @return array Agents * @param var_type $var */ public static function getSchemaAgents() { $results = array(); $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(self::AGENT_ID); $c->addJoin(self::AGENT_ID, AgentPeer::ID); $c->addAscendingOrderByColumn(AgentPeer::ORG_NAME); $c->setDistinct(); $rs = self::doSelectRS($c); while ($rs->next()) { $results[] = AgentPeer::retrieveByPK($rs->getInt(1)); } return $results; }
public function getTags() { $c = new Criteria(); $c->add(QuestionTagPeer::QUESTION_ID, $this->getId()); $c->addGroupByColumn(QuestionTagPeer::NORMALIZED_TAG); $c->setDistinct(); $c->addAscendingOrderByColumn(QuestionTagPeer::NORMALIZED_TAG); $tags = array(); foreach (QuestionTagPeer::doSelect($c) as $tag) { if (sfConfig::get('app_permanent_tag') == $tag) { continue; } $tags[] = $tag->getNormalizedTag(); } return $tags; }
public static function getCriteriaUsuarioActualAlcanceCategoriasInformes() { $usuario = Usuario::getUsuarioActual(); $rels = $usuario->getRelUsuarioCategoriaInformes(new Criteria()); $c = new Criteria(); if (!sizeof($rels)) { $c->add(CategoriaInformePeer::ID_CATEGORIA_INFORME, 0); } else { foreach ($rels as $rel) { $cr_aux = $c->getNewCriterion(CategoriaInformePeer::ID_CATEGORIA_INFORME, $rel->getIdCategoriaInforme()); $c->addOr($cr_aux); } } $c->setDistinct(); return $c; }
/** * @link http://propel.phpdb.org/trac/ticket/425 */ public function testMultipleFunctionInCriteria() { $db = Propel::getDB(BookPeer::DATABASE_NAME); try { $c = new Criteria(); $c->setDistinct(); if ($db instanceof DBPostgres) { $c->addSelectColumn("substring(" . BookPeer::TITLE . " from position('Potter' in " . BookPeer::TITLE . ")) AS col"); } else { $this->markTestSkipped(); } $stmt = BookPeer::doSelectStmt($c); } catch (PropelException $x) { $this->fail("Paring of nested functions failed: " . $x->getMessage()); } }
public static function retrieveStudentsCriteria($course_id) { $course = CoursePeer::retrieveByPk($course_id); $c = new Criteria(); $c->add(CourseSubjectPeer::COURSE_ID, $course_id); $c->addJoin(CourseSubjectPeer::ID, CourseSubjectStudentPeer::COURSE_SUBJECT_ID); $c->addJoin(CourseSubjectStudentPeer::STUDENT_ID, StudentPeer::ID); $c->addJoin(StudentPeer::PERSON_ID, PersonPeer::ID); $c->addJoin(SchoolYearStudentPeer::STUDENT_ID, StudentPeer::ID); $c->addJoin(StudentCareerSchoolYearPeer::STUDENT_ID, CourseSubjectStudentPeer::STUDENT_ID, Criteria::INNER_JOIN); $c->add(StudentCareerSchoolYearPeer::STATUS, StudentCareerSchoolYearStatus::WITHDRAWN, Criteria::NOT_EQUAL); $c->addAnd(StudentCareerSchoolYearPeer::STATUS, StudentCareerSchoolYearStatus::WITHDRAWN_WITH_RESERVE, Criteria::NOT_EQUAL); $c->setDistinct(); $c->add(SchoolYearStudentPeer::SCHOOL_YEAR_ID, $course->getSchoolYearId()); return $c; }
public static function getItemsPKsMonitoredByUsers($monitorers_pks, $model = null) { $c = new Criteria(); $c->setDistinct(); $c->clearSelectColumns(); $c->addSelectColumn(self::MONITORABLE_ID); $c->add(self::USER_ID, $monitorers_pks, Criteria::IN); if (!is_null($model)) { $c->add(self::MONITORABLE_MODEL, $model); } $rs = self::doSelectRS($c); $pks = array(); while ($rs->next()) { $pks[] = $rs->getInt(1); } return $pks; }
public static function doSelectAtto($atto_id) { $atti = array(); $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppAttoPeer::ID); $c->addSelectColumn(OppAttoPeer::RAMO); $c->addSelectColumn(OppAttoPeer::NUMFASE); $c->addSelectColumn(OppAttoPeer::TITOLO); $c->setDistinct(OppAttoPeer::ID); $c->add(OppAttoHasTeseoPeer::TESEO_ID, $atto_id, Criteria::IN); $c->addJoin(OppAttoHasTeseoPeer::ATTO_ID, OppAttoPeer::ID, Criteria::LEFT_JOIN); $c->addDescendingOrderByColumn(OppAttoPeer::DATA_PRES); $c->add(OppAttoPeer::TIPO_ATTO_ID, 1, Criteria::EQUAL); $rs = OppAttoHasTeseoPeer::doSelectRS($c); while ($rs->next()) { $atti[$rs->getInt(1)] = $rs->getString(2) . '.' . $rs->getString(3) . ' ' . $rs->getString(4); } return $atti; }
function getProcessArray($userUid) { global $oAppCache; require_once "classes/model/AppCacheView.php"; $processes = array(); $processes[] = array('', G::LoadTranslation('ID_ALL_PROCESS')); $cProcess = new Criteria('workflow'); $cProcess->clearSelectColumns(); $cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID); $cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE); $cProcess->setDistinct(AppCacheViewPeer::PRO_UID); $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE); $oDataset = AppCacheViewPeer::doSelectRS($cProcess); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $processes[] = array($aRow['PRO_UID'], $aRow['APP_PRO_TITLE']); $oDataset->next(); } return $processes; }
public static function retrieveForSelect($q, $limit, $columnname) { $criteria = new Criteria(); $criteria->add(constant('FiledescPeer::' . strtoupper($columnname)), '%' . $q . '%', Criteria::LIKE); $criteria->setDistinct(true); $criteria->addAscendingOrderByColumn(constant('FiledescPeer::' . strtoupper($columnname))); $criteria->setLimit($limit); $criteria->setIgnoreCase(true); $values = array(); $getFunctionKey = "get{$columnname}"; $getFunctionValue = "get{$columnname}"; $result = FiledescPeer::doSelect($criteria); foreach ($result as $value) { $current_result = array(); $current_result["id"] = (string) $value->{$getFunctionValue}(); $current_result["label"] = (string) $value->{$getFunctionValue}(); $current_result["value"] = (string) $value->{$getFunctionValue}(); $values[] = $current_result; } return $values; }