/**
	 * 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;
	}
Exemplo n.º 2
0
  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;
  }