public static function doSelect(Criteria $criteria, $con = null) { return sfVotingPeer::populateObjects(sfVotingPeer::doSelectRS($criteria, $con)); }
/** * Gets the object voting details (how many voted what, as an hash) * * @param BaseObject $object * @param boolean $include_all Shall we include all available votings? * @return associative array containing (voting => count) **/ public function getVotingDetails(BaseObject $object, $include_all = false, $docount = false) { if ($include_all === false && $docount === false && !is_null(self::getObjectVotingFields($object))) { return self::getVotingDetailsFromObject($object); } $c = new Criteria(); $c->add(sfVotingPeer::VOTABLE_ID, $object->getReferenceKey()); $c->add(sfVotingPeer::VOTABLE_MODEL, get_class($object)); $c->clearSelectColumns(); $c->addAsColumn('nb_votings', 'COUNT(' . sfVotingPeer::ID . ')'); $c->addAsColumn('voting', sfVotingPeer::VOTING); $c->addGroupByColumn(sfVotingPeer::VOTING); $rs = sfVotingPeer::doSelectRS($c); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $details = array(); while ($rs->next()) { $details = $details + array($rs->getInt('voting') => (int) $rs->getString('nb_votings')); } if ($include_all === true) { for ($i = -1 * $object->getVotingRange(); $i <= $object->getVotingRange(); $i++) { if (!array_key_exists($i, $details)) { $details[$i] = 0; } } } ksort($details); return $details; }