/** * Retrieve object using using composite pkey values. * @param int $categorie_id * @param int $classe_id * @param PropelPDO $con * @return JCategoriesMatieresClasses */ public static function retrieveByPK($categorie_id, $classe_id, PropelPDO $con = null) { $_instancePoolKey = serialize(array((string) $categorie_id, (string) $classe_id)); if (null !== ($obj = JCategoriesMatieresClassesPeer::getInstanceFromPool($_instancePoolKey))) { return $obj; } if ($con === null) { $con = Propel::getConnection(JCategoriesMatieresClassesPeer::DATABASE_NAME, Propel::CONNECTION_READ); } $criteria = new Criteria(JCategoriesMatieresClassesPeer::DATABASE_NAME); $criteria->add(JCategoriesMatieresClassesPeer::CATEGORIE_ID, $categorie_id); $criteria->add(JCategoriesMatieresClassesPeer::CLASSE_ID, $classe_id); $v = JCategoriesMatieresClassesPeer::doSelect($criteria, $con); return !empty($v) ? $v[0] : null; }
public function getEctsGroupesByCategories() { // On commence par récupérer tous les groupes $groupes = $this->getGroupes(); // Ensuite, il nous faut les catégories. $categories = array(); $c = new Criteria(); $c->add(JCategoriesMatieresClassesPeer::CLASSE_ID,$this->getId()); $c->addAscendingOrderByColumn(JCategoriesMatieresClassesPeer::PRIORITY); foreach(JCategoriesMatieresClassesPeer::doSelect($c) as $j) { $cat = $j->getCategorieMatiere(); $categories[$cat->getId()] = array(0 => $cat, 1 => array()); } // Maintenant, on mets tout ça ensemble foreach($groupes as $groupe) { if ($groupe->allowsEctsCredits($this->getId())) { $cat = $groupe->getCategorieMatiere($this->getId()); $categories[$cat->getId()][1][$groupe->getId()] = $groupe; } } foreach($categories as $cat) { if (count($cat[1]) == 0) { $id = $cat[0]->getId(); unset($categories[$id]); } } // On renvoie un table multi-dimensionnel, qui contient les catégories // dans le bon ordre, et les groupes sous chaque catégorie. return $categories; }