Esempio n. 1
0
 /**
  * @return array
  */
 public function findUsedProfileProperties()
 {
     $c = new Criteria();
     $c->add(SchemaPropertyPeer::SCHEMA_ID, $this->getId());
     $c->clearSelectColumns();
     $c->addSelectColumn(SchemaPropertyElementPeer::SCHEMA_PROPERTY_ID);
     $c->addSelectColumn(SchemaPropertyElementPeer::PROFILE_PROPERTY_ID);
     $c->addSelectColumn(SchemaPropertyElementPeer::LANGUAGE);
     $c->addAscendingOrderByColumn(SchemaPropertyElementPeer::SCHEMA_PROPERTY_ID);
     $c->addJoin(SchemaPropertyElementPeer::SCHEMA_PROPERTY_ID, SchemaPropertyPeer::ID);
     $foo = array();
     $results = SchemaPropertyElementPeer::doSelectRS($c);
     unset($c);
     foreach ($results as $result) {
         if (!isset($foo[$result[0]][$result[1]][$result[2]])) {
             $foo[$result[0]][$result[1]][$result[2]] = 1;
         } else {
             $foo[$result[0]][$result[1]][$result[2]]++;
         }
     }
     $bar = self::buildColumnArray($foo);
     return $bar;
 }
 /**
  * Returns the number of rows matching criteria, joining the related Status table
  *
  * @param Criteria $c
  * @param boolean $distinct Whether to select only distinct columns (You can also set DISTINCT modifier in Criteria).
  * @param Connection $con
  * @return int Number of matching rows.
  */
 public static function doCountJoinAllExceptStatus(Criteria $criteria, $distinct = false, $con = null)
 {
     // we're going to modify criteria, so copy it first
     $criteria = clone $criteria;
     // clear out anything that might confuse the ORDER BY clause
     $criteria->clearSelectColumns()->clearOrderByColumns();
     if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
         $criteria->addSelectColumn(SchemaPropertyElementPeer::COUNT_DISTINCT);
     } else {
         $criteria->addSelectColumn(SchemaPropertyElementPeer::COUNT);
     }
     // just in case we're grouping: add those columns to the select statement
     foreach ($criteria->getGroupByColumns() as $column) {
         $criteria->addSelectColumn($column);
     }
     $criteria->addJoin(SchemaPropertyElementPeer::CREATED_USER_ID, UserPeer::ID);
     $criteria->addJoin(SchemaPropertyElementPeer::UPDATED_USER_ID, UserPeer::ID);
     $criteria->addJoin(SchemaPropertyElementPeer::SCHEMA_PROPERTY_ID, SchemaPropertyPeer::ID);
     $criteria->addJoin(SchemaPropertyElementPeer::PROFILE_PROPERTY_ID, ProfilePropertyPeer::ID);
     $criteria->addJoin(SchemaPropertyElementPeer::RELATED_SCHEMA_PROPERTY_ID, SchemaPropertyPeer::ID);
     $rs = SchemaPropertyElementPeer::doSelectRS($criteria, $con);
     if ($rs->next()) {
         return $rs->getInt(1);
     } else {
         // no rows returned; we infer that means 0 matches.
         return 0;
     }
 }