public function executeShow() { $userid = $this->getUser()->getAttribute('userid'); $c = new Criteria(); $c->add(AcademicPeer::USER_ID, $userid); $this->academics = AcademicPeer::doSelect($c); $c->clear(); $c->add(UserbadgePeer::USER_ID, $userid); $this->userbadges = UserbadgePeer::doSelect($c); $c->clear(); $c->add(UserbadgePeer::USER_ID, $userid); $c->addSelectColumn(UserbadgePeer::BADGE_ID); $userbadges = UserbadgePeer::doSelectRS($c); $ubarray = array(); foreach ($userbadges as $ub) { $ubarray[] = $ub[0]; } $c->clear(); $c->add(BadgePeer::ID, $ubarray, Criteria::NOT_IN); $c->addAscendingOrderByColumn(BadgePeer::NAME); $allbadges = BadgePeer::doSelect($c); $badgelist = array(); $badgelist[] = '-- Select --'; foreach ($allbadges as $badge) { $badgelist[$badge->getId()] = $badge->getName(); } $this->badgelist = $badgelist; }
public static function doCountJoinAllExceptBadge(Criteria $criteria, $distinct = false, $con = null) { $criteria = clone $criteria; $criteria->clearSelectColumns()->clearOrderByColumns(); if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { $criteria->addSelectColumn(UserbadgePeer::COUNT_DISTINCT); } else { $criteria->addSelectColumn(UserbadgePeer::COUNT); } foreach ($criteria->getGroupByColumns() as $column) { $criteria->addSelectColumn($column); } $criteria->addJoin(UserbadgePeer::USER_ID, UserPeer::ID); $rs = UserbadgePeer::doSelectRS($criteria, $con); if ($rs->next()) { return $rs->getInt(1); } else { return 0; } }