예제 #1
0
 /**
  * Get the top 15 douches based on their douchey-score
  * @param Criteria $crit
  * @return array(Douche[, Douche[, Douche]]])
  */
 public static function getMostDouchey(Criteria $crit = null)
 {
     if ($crit instanceof Criteria) {
         $c = clone $crit;
     } else {
         $c = new Criteria();
     }
     DouchePeer::addSelectColumns($c);
     $c->addSelectColumn('SUM(' . DoucheVotePeer::VOTE . ') AS total_doucheyness');
     $c->addDescendingOrderByColumn('total_doucheyness');
     $c->addGroupByColumn(DoucheVotePeer::DOUCHE_ID);
     $c->add(DouchePeer::ID, DouchePeer::ID . ' = ' . DoucheVotePeer::DOUCHE_ID, Criteria::CUSTOM);
     $c->setLimit(15);
     return DouchePeer::doSelect($c);
 }
예제 #2
0
 /**
  * Retrieve multiple objects by pkey.
  *
  * @param      array $pks List of primary keys
  * @param      PropelPDO $con the connection to use
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(DouchePeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(DouchePeer::DATABASE_NAME);
         $criteria->add(DouchePeer::ID, $pks, Criteria::IN);
         $objs = DouchePeer::doSelect($criteria, $con);
     }
     return $objs;
 }