/** * {@inheritDoc} */ public function code() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'code', array()); return parent::code(); }
/** * Get all objectives in a curriculum. * * @param Curriculum $curriculum * @return mixed */ public function objectivesOfCurriculum(Curriculum $curriculum) { $key = md5('objectives.' . $curriculum->code()); if (Cache::has($key)) { return Cache::get($key); } $qb = $this->em->createQueryBuilder(); $qb->select('o')->from($this->objectiveClass, 'o')->join('o.structure', 's')->join('s.curriculum', 'c')->where($qb->expr()->eq('c.id', '?1'))->setParameter(1, $curriculum->id()); $result = $qb->getQuery()->getResult(); Cache::forever('$key', $result); return $result; }